From 0171187bfe982de436bcb9e1ef57006eb0284d38 Mon Sep 17 00:00:00 2001 From: kendo-bot Date: Wed, 24 Apr 2024 04:18:44 +0000 Subject: [PATCH] Sync with Kendo UI Professional --- docs/_config.yml | 17 +- docs/api/javascript/ui/aiprompt.md | 658 ++++++++++++++++++ docs/api/javascript/ui/dockmanager.md | 4 +- docs/api/javascript/ui/panelbar.md | 38 + docs/controls/charts/sankey/customization.md | 350 ++++++++++ docs/controls/charts/sankey/overview.md | 35 + .../charts/sankey/sankeychart-overview.png | Bin 0 -> 48811 bytes src/kendo.panelbar.js | 34 +- typescript/kendo.all.d.ts | 74 ++ 9 files changed, 1196 insertions(+), 14 deletions(-) create mode 100644 docs/api/javascript/ui/aiprompt.md create mode 100644 docs/controls/charts/sankey/customization.md create mode 100644 docs/controls/charts/sankey/overview.md create mode 100644 docs/controls/charts/sankey/sankeychart-overview.png diff --git a/docs/_config.yml b/docs/_config.yml index 5bc141298f4..100e3ffae77 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -128,15 +128,18 @@ navigation: "controls/charts/elements": title: "Elements" position: 6 + "controls/charts/sankey": + title: "Sankey" + position: 7 "controls/charts/sparkline": title: "Sparkline" - position: 7 + position: 8 "controls/charts/stockchart": title: "StockChart" - position: 8 + position: 9 "controls/charts/treemap": title: "TreeMap" - position: 9 + position: 10 "controls/orgchart": title: "OrgChart" "controls/window/how-to": @@ -461,6 +464,8 @@ navigation: title: "CircularGauge" "*radialgauge": title: "RadialGauge" + "*sankey": + title: "Sankey" "*sparkline": title: "Sparkline" "*stockchart": @@ -1953,6 +1958,12 @@ defaults: values: component: "sortable" +- + scope: + path: "controls/charts/sankey" + values: + component: "sankey" + - scope: path: "controls/charts/sparkline" diff --git a/docs/api/javascript/ui/aiprompt.md b/docs/api/javascript/ui/aiprompt.md new file mode 100644 index 00000000000..b585e171bc3 --- /dev/null +++ b/docs/api/javascript/ui/aiprompt.md @@ -0,0 +1,658 @@ +--- +title: AIPrompt +page_title: Configuration, methods and events of Kendo UI AIPrompt component +description: Configuration options, methods and events for the Kendo UI AIPrompt component. +res_type: api +component: aiprompt +--- + +# kendo.ui.AIPrompt + +Represents the Kendo UI AIPrompt. Inherits from [Widget](/api/javascript/ui/widget). + +## Configuration + +### activeView `Number|String` *(default: 0)* + +Specifies the index of the active view or the name of the view. + +#### Example +
+ + +### promptOutputs `Array` + +An array of prompt outputs to display in the prompt view. + +#### Example +
+ + +### promptOutputs.id `String` + +The id of the prompt output. If none is provided, the id will be generated as a `kendo.guid()`. The ID is rendered as data-id attribute in the prompt output. + + +#### Example +
+ + +### promptOutputs.output `String` + +The output content generated from the prompt. + +#### Example +
+ + +### promptOutputs.prompt `String` + +The prompt text used to generate this output. + +#### Example +
+ + +### promptSuggestionItemTemplate `String|Function` + +The template of the prompt suggestion item. It can be a string, a function or a Kendo Template. + +#### Example +
+ + +### promptSuggestions `Array` *(default: [])* + +An array of prompt suggestions as strings to display in the prompt view. The suggestions can be clicked to populate the prompt input. + +#### Example +
+ + +### toolbarItems `Array` + +An array of toolbar items to display in the header Toolbar. They will be rendered after the items generated from the configurations of the views. + +#### Example +
+ + +### showOutputRating `Boolean` *(default: true)* + +Specifies if the output rating should be displayed on the output card. + +#### Example +
+ + +### views `Array` + +An array of view configurations. + +#### Example +
+ + +### views.buttonText `String` + +The text of the Toolbar button rendered for the view. + +#### Example +
+ + +### views.buttonIcon `String` + +The icon name of the Toolbar button rendered for the view. + +#### Example +
+ + +### views.type `String` + +The type of the view. Available built-in options are `prompt`, `output`, `commands` or `custom`. + +#### Example +
+ + +### views.name `String` + +The name of the view. It is used to identify the view. It should be unique. + +#### Example +
+ + +### views.viewTemplate `String|Function` + +The template of the view content. It can be a string, a function or a Kendo Template. + +#### Example +
+ + +### views.footerTemplate `String|Function` + +The template of the view footer. It can be a string, a function or a Kendo Template. + +#### Example +
+ + +### views.initializeComponents `Function` + +A function that is executed when the view is rendered. It is used to initialize the components of the view with a custom content template. + +#### Example +
+ + + +### messages `Object` + +The text messages displayed in the component. Use this option to customize or localize the messages. + +### messages.commandsView `String` *(default: "")* + +The text of the commands view button in the ToolBar. + +### messages.copyOutput `String` *(default: "Copy")* + +The text of the copy output button in the output element. + +### messages.customView `String` *(default: "Custom View")* + +The text of the custom view button in the ToolBar. + +### messages.generateOutput `String` *(default: "Generate")* + +The text of the generate output button in the prompt view footer. + +### messages.outputRetryTitle `String` *(default: "Generated with AI")* + +The title of the output card when the output is generated after clicking the retry button of an output. + +### messages.outputTitle `String` *(default: "Generated with AI")* + +The title of the output card when the output is generated. + +### messages.outputView `String` *(default: "Output")* + +The text of the output view button in the ToolBar. + +### messages.promptPlaceholder `String` *(default: "Ask or generate content with AI")* + +The placeholder text of the textarea input of the prompt view. + +### messages.promptSuggestions `String` *(default: "Prompt Suggestions")* + +The text of the prompt suggestions toggle button in the prompt view. + +### messages.promptView `String` *(default: "Ask AI")* + +The text of the prompt view button in the ToolBar. + +### messages.retryGeneration `String` *(default: "Retry")* + +The text of the retry generation button in the output card. + +## Methods + +### activeView + +Changes the active view. If no argument is provided, the method returns the index of the active view. + +#### Example +
+ + +#### Parameters + +##### view `Number|String` + +The index of the active view or the name of the view to show. If no argument is provided, the method returns the index of the active view. + +### addPromptOutput + +Adds a prompt output to the `promptOutputs` collection. If the active views is `OutputView`, calls the view's `addPromptOutput` method. + +##### Parameters + +##### promptOutput `Object` + +The prompt output to add. The output should have the following properties: + +- `output` - The output content generated from the prompt. +- `prompt` - The prompt text used to generate this output. +- `id` - *Optional* - The id of the prompt output. If none is provided, the id will be generated as a `kendo.guid()`. The ID is rendered as data-id attribute in the prompt output. + +#### Example +
+ + +### getViews + +Returns an array of views of the AIPrompt. + +#### Returns + +`Array` An array of views of the AIPrompt. + +## Events + +### commandExecute + +Triggered when a command item from the Commands view is clicked. The panel bar dataItem of the selected item is available through the event argument. + +### promptRequest + +Triggered when the prompt view Generate output button is clicked. The prompt text is available through the event argument. Suitable to make a request to the AI service to receive an output. Use the `addPromptOutput` method to add the generated output to the `promptOutputs` collection. + +The `prompt`, `output`and `isRetry` properties are available in the event argument. When the output is generated after clicking the retry button of an output, the `isRetry` property is `true` and the `output` property is the output content of the output card. + +### outputRatingChange + +Triggered when the rating of an output is changed through the rate buttons of an output. The output id and the new rating are available through the event argument. + +### outputCopy + +Triggered when the copy output button of an output is clicked. The `prompt` and the `output` object are available through the event argument. + diff --git a/docs/api/javascript/ui/dockmanager.md b/docs/api/javascript/ui/dockmanager.md index f3c10cb4c12..b4ff5859c34 100644 --- a/docs/api/javascript/ui/dockmanager.md +++ b/docs/api/javascript/ui/dockmanager.md @@ -1,14 +1,14 @@ --- title: DockManager page_title: Configuration, methods and events of Kendo UI DockManager -description: Configuration options, methods and events for the Kendo UI DockManager widget. +description: Configuration options, methods and events for the Kendo UI DockManager widget. res_type: api component: dockmanager --- # kendo.ui.DockManager -Represents the Kendo UI TaskBoard. Inherits from [Widget](/api/javascript/ui/widget). +Represents the Kendo UI DockManager. Inherits from [Widget](/api/javascript/ui/widget). ## Configuration diff --git a/docs/api/javascript/ui/panelbar.md b/docs/api/javascript/ui/panelbar.md index 36929978c4c..c3ef72d2c59 100644 --- a/docs/api/javascript/ui/panelbar.md +++ b/docs/api/javascript/ui/panelbar.md @@ -295,6 +295,44 @@ Sets an array with the URLs from which the **PanelBar** items content to be load }); +### dataIconField `String` *(default: "icon")* + +Sets the field of the data item that provides the icon name of the **PanelBar** nodes. + +#### Example - specify icon name field + + + + +### dataIconClassField `String` *(default: "icon")* + +Sets the field of the data item that provides the custom class for the icon element of the **PanelBar** nodes. + +#### Example - specify field for custom icon class + + + + ### dataImageUrlField `String` *(default: null)* Sets the field of the data item that provides the image URL of the **PanelBar** nodes. diff --git a/docs/controls/charts/sankey/customization.md b/docs/controls/charts/sankey/customization.md new file mode 100644 index 00000000000..e21b463748e --- /dev/null +++ b/docs/controls/charts/sankey/customization.md @@ -0,0 +1,350 @@ +--- +title: Customization +page_title: jQuery Sankey Charts Documentation - Customization +description: "Get started with the jQuery Sankey Chaarts by Kendo UI and learn how to customize the component." +slug: customization_kendoui_sankeychart +position: 2 +--- + +# Customization + +You can configure the labels, nodes, and links displayed on the Sankey Diagram by using the following properties: + + - [`links`](/api/javascript/dataviz/ui/sankey/configuration/links)—Provides options to set the [`colorType`](/api/javascript/dataviz/ui/sankey/configuration/links.colortypes) of the link to either `static`, `source`, or `target`. It also allows you to control the opacity and highlighting of the link. + - [`nodes`](/api/javascript/dataviz/ui/sankey/configuration/nodes)—Provides options to modify the `color`, `opacity`, `offset`, `padding`, and `width` of the node. + - [`labels`](/api/javascript/dataviz/ui/sankey/configuration/labels)—Provides options to modify the `font`, `color`, and `opacity` of the label. It also allows you to set the `visible` property to show or hide the label. + +## Configure the Link Colors + +The Sankey diagram provides different [`colorTypes`](/api/javascript/dataviz/ui/sankey/configuration/links.colortypes) of the links. The supported values are: + + * `static`—The color is static and is determined by the link's color option. + * `source`—The link color is the same as the source node color. + * `target`—The link color is the same as the target node color. + +The example below demonstrates the different [`colorTypes`](/api/javascript/dataviz/ui/sankey/configuration/links.colortypes). You can select a `colorType` from the DropDownList at the top: + +```dojo + +
+ +``` + +## Customizing Specific Node or Link + +As the properties set to [`data`](/api/javascript/dataviz/ui/sankey/configuration/data) take precedence, using the `data` property allows you to target a single node or link and apply a specific configuration only to that element. + +The demo below shows how to configure and use the `data` prop to: + + - Change the color of the first link. + - Change the offset of the node with the label text **Мobile**. + + ```dojo +
+ + ``` + +## See Also + +* [Basic Usage of the Sankey (Demo)](https://demos.telerik.com/kendo-ui/sankey-charts/index) +* [JavaScript API Reference of the Sankey](/api/javascript/dataviz/ui/sankey) diff --git a/docs/controls/charts/sankey/overview.md b/docs/controls/charts/sankey/overview.md new file mode 100644 index 00000000000..4566381754a --- /dev/null +++ b/docs/controls/charts/sankey/overview.md @@ -0,0 +1,35 @@ +--- +title: Overview +page_title: Overview +description: "Discover the Kendo UI Sankey Chart component for jQuery that allows the users to create diagrams that visualize changing flows and their distribution between domains." +slug: overview_kendoui_sankeychart +position: 0 +--- + +# {{ site.framework }} Sankey Chart Overview + + +The Kendo UI for jQuery Sankey Chart allows you to create diagrams that visualize changing flows and their distribution between domains. Sankey diagrams suit a variety of use cases like the representation of website traffic, budget breakdowns, energy flow, and others. + + +![Kendo UI for jQuery Sankey Chart Overview](sankeychart-overview.png) + + +The Kendo UI for jQuery Sankey Chart includes the following customizable elements: + + - Nodes—The node is a rectangular element that connects to other nodes. + - Links—The lines that connect the nodes to each other. The greater the value of the link, the greater the width of the link will be. + - Labels—The labels are the names of the nodes and are displayed on them or next to them. + + +## Functionality and Features + +* [Customization]({% slug customization_kendoui_sankeychart %})—You can customize the links, the nodes, and the labels of the Sankey Chart. + +## Next Steps + +* [Basic Usage of the Sankey Chart (Demo)](https://demos.telerik.com/kendo-ui/sankey-chart/index) + +## See Also + +* [JavaScript API Reference of the Sankey Chart](/api/javascript/dataviz/ui/sankey) diff --git a/docs/controls/charts/sankey/sankeychart-overview.png b/docs/controls/charts/sankey/sankeychart-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..bfe752f5fdecee877136ec0e41c2d1ef794cafe3 GIT binary patch literal 48811 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

Jz20`7v- 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 literal 0 HcmV?d00001 diff --git a/src/kendo.panelbar.js b/src/kendo.panelbar.js index a45ce3c4a42..76f1fec44c1 100644 --- a/src/kendo.panelbar.js +++ b/src/kendo.panelbar.js @@ -66,7 +66,9 @@ var __meta__ = { text: "dataTextField", url: "dataUrlField", spriteCssClass: "dataSpriteCssClassField", - imageUrl: "dataImageUrlField" + imageUrl: "dataImageUrlField", + icon: "dataIconField", + iconClass: "dataIconClassField", }, itemIcon, rendering = { @@ -271,7 +273,8 @@ var __meta__ = { loadOnDemand: true, expandMode: "multiple", template: null, - dataTextField: null + dataTextField: null, + selectable: true }, destroy: function() { @@ -304,12 +307,13 @@ var __meta__ = { options.template = template(options.template); } else if (!options.template) { options.template = template((data) => { - var text = fieldAccessor("text")(data.item); - if (typeof data.item.encoded != 'undefined' && data.item.encoded === false) { - return `${text}`; - } else { - return `${encode(text)}`; - } + var text = fieldAccessor("text")(data.item); + + if (data.item.encoded !== false) { + text = encode(text); + } + + return `${text}`; }); } @@ -326,12 +330,16 @@ var __meta__ = { var url = fieldAccessor("url")(item); var imageUrl = fieldAccessor("imageUrl")(item); var spriteCssClass = fieldAccessor("spriteCssClass")(item); + var icon = fieldAccessor("icon")(item); + var iconClass = fieldAccessor("iconClass")(item); + iconClass = iconClass ? " " + iconClass : ""; var contentUrl = contentUrl(item); var tag = url || contentUrl ? 'a' : 'span'; return `<${tag} class='${textClass(item)}' ${contentUrl}${textAttributes(url)}>` + (imageUrl ? `` : '') + (spriteCssClass ? `` : '') + + (icon ? kendo.ui.icon($(""), { icon: icon, iconClass: "k-panelbar-item-icon" + iconClass }) : '') + panelBar.options.template({ panelBar, item, arrow, textClass, textAttributes, contentUrl }) + arrow({ panelBar, item, arrow, textClass, arrowIconOptions, textAttributes, contentUrl }) + ``; @@ -755,7 +763,9 @@ var __meta__ = { { field: "text" }, { field: "url" }, { field: "spriteCssClass" }, - { field: "imageUrl" } + { field: "imageUrl" }, + { field: "icon" }, + { field: "iconClass" } ]; } @@ -1631,6 +1641,12 @@ var __meta__ = { selected = that._selected, dataItem = that.dataItem(item); + if (that.options.selectable == false) { + that._current(item[0] ? item : null); + + return; + } + if (selected) { selected.attr(ARIA_SELECTED, false); } diff --git a/typescript/kendo.all.d.ts b/typescript/kendo.all.d.ts index f27ad35e6c4..303e8adaf00 100644 --- a/typescript/kendo.all.d.ts +++ b/typescript/kendo.all.d.ts @@ -2185,6 +2185,80 @@ declare namespace kendo.ui { isDefaultPrevented(): boolean; } + class AIPrompt extends kendo.ui.Widget { + static fn: AIPrompt; + + options: AIPromptOptions; + + element: JQuery; + + static extend(proto: Object): AIPrompt; + + constructor(element: Element, options?: AIPromptOptions); + + activeView(): number; + activeView(index: number): void; + activeView(index: string): void; + + addPromptOutput(promptOutput: AIPromptPromptOutput): void; + + getViews(): AIPromptView[] | any[]; + } + + interface AIPromptPromptOutput { + id: string; + prompt: string; + output: string; + } + + interface AIPromptEvent { + sender: AIPrompt; + preventDefault: Function; + isDefaultPrevented(): boolean; + } + + interface AIPromptOptions { + name?: string | undefined; + activeView?: number | string | undefined; + views?: AIPromptView[] | any[] | undefined; + promptOutputs?: AIPromptPromptOutput[] | any[] | undefined; + promptSuggestionItemTemplate?: string | Function | undefined; + promptSuggestions?: string[] | any[] | undefined; + toolbarItems?: ToolBarItem[] | any[] | undefined; + showOutputRating?: boolean | undefined; + messages?: AIPromptMessages | undefined; + + commandExecute?(e: AIPromptEvent): void; + promptRequest?(e: AIPromptEvent): void; + outputRatingChange?(e: AIPromptEvent): void; + outputCopy?(e: AIPromptEvent): void; + } + + interface AIPromptMessages { + commandsView?: string | undefined; + promptView?: string | undefined; + outputView?: string | undefined; + customView?: string | undefined; + copyOutput?: string | undefined; + generateOutput?: string | undefined; + outputRetryTitle?: string | undefined; + outputTitle?: string | undefined; + promptPlaceHolder?: string | undefined; + promptSuggestions?: string | undefined; + retryGeneration?: string | undefined; + } + + interface AIPromptView { + buttonText?: string | undefined; + buttonIcon?: string | undefined; + type?: string | undefined; + name?: string | undefined; + viewTemplate?: string | Function | undefined; + footerTemplate?: string | Function | undefined; + initializeComponent(container: JQuery): void; + initializeComponent(): void; + } + class Alert extends kendo.ui.Dialog { static fn: Alert;