From b37db989d376a1316902141ae64126cc7bb7da4c Mon Sep 17 00:00:00 2001 From: Sridhar Alagiri Samy Date: Tue, 19 Mar 2024 17:16:02 +0530 Subject: [PATCH 001/134] 876470: Culture based list and decimal separator support UG added (cherry picked from commit b438d897dcc469ee8118fcfcd7b8c598e37623d6) --- .../formula-cs3/formulaController.cs | 19 +++++ .../spreadsheet/formula-cs3/razor | 61 ++++++++++++++++ .../spreadsheet/formula-cs3/tagHelper | 70 +++++++++++++++++++ ej2-asp-core-mvc/spreadsheet/formulas.md | 27 ++++++- 4 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/formulaController.cs create mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/razor create mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/tagHelper diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/formulaController.cs b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/formulaController.cs new file mode 100644 index 0000000000..5b350badd9 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/formulaController.cs @@ -0,0 +1,19 @@ +public IActionResult Index() +{ + List data = new List() + { + new { ItemCode= "I231", ItemName= "Chinese Combo Noodle", Quantity= "2", Rate= "125", Amount= "=PRODUCT(C2;D2)" }, + new { ItemCode= "I245", ItemName= "Chinese Combo Rice", Quantity= "3", Rate= "125", Amount= "=PRODUCT(C3;D3)" }, + new { ItemCode= "I237", ItemName= "Amritsari Chola", Quantity= "2", Rate= "225", Amount= "=PRODUCT(C4;D4)" }, + new { ItemCode= "I291", ItemName= "Asian Mixed Entree Platt", Quantity= "3", Rate= "165", Amount= "=PRODUCT(C5;D5)" }, + new { ItemCode= "I268", ItemName= "Chinese Combo Chicken", Quantity= "3", Rate= "125", Amount= "=PRODUCT(C6;D6)" }, + new { ItemCode= "I251", ItemName= "Chivas Regal", Quantity= "1", Rate= "325", Amount= "=PRODUCT(C7;D7)" }, + new { ItemCode= "I256", ItemName= "Chicken Drumsticks", Quantity= "2", Rate= "180", Amount= "=PRODUCT(C8;D8)" }, + new { ItemCode= "I232", ItemName= "Manchow Soup", Quantity= "2", Rate= "160", Amount= "=PRODUCT(C9;D9)" }, + new { ItemCode= "I290", ItemName= "Schezuan Chicken", Quantity= "3", Rate= "180", Amount= "=PRODUCT(C10;D10)" }, + new { ItemCode= "I229", ItemName= "Manchow Soup", Quantity= "2", Rate= "125", Amount= "=PRODUCT(C11;D11)" }, + new { ItemCode= "I239", ItemName= "Jw Black Lable", Quantity= "2", Rate= "175", Amount= "=PRODUCT(C12;D12)" }, + }; + ViewBag.DefaultData = data; + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/razor b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/razor new file mode 100644 index 0000000000..3afdd16bd5 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/razor @@ -0,0 +1,61 @@ +@Html.EJS().Spreadsheet("spreadsheet").Locale("de").ListSeparator(";").ShowRibbon(false).ShowSheetTabs(false).Created("created").Sheets((sheet) => +{ + sheet.SelectedRange("E14").Ranges((ranges) => + { + ranges.DataSource(@ViewBag.defaultData).Add(); + }).Rows(row => + { + row.Index(12).Cells(cell => { + cell.Index(3).Value("Subtotal:").Add(); + cell.Formula("=SUBTOTAL(9;E2:E12)").Add(); + }).Add(); + row.Cells(cell => { + cell.Index(3).Value("Discount (8,5%):").Add(); + cell.Formula("=PRODUCT(8,5;E13)/100").Add(); + }).Add(); + row.Cells(cell => { + cell.Index(3).Value("Total Amount:").Add(); + cell.Formula("=E13-E14").Add(); + }).Add(); + }).Columns(column => { + column.Width(120).Add(); + column.Width(180).Add(); + column.Width(100).Add(); + column.Width(120).Add(); + column.Width(120).Add(); + }).Add(); +}).Render() + + + function loadCultureFiles(name) { + ej.base.setCulture(name); + ej.base.setCurrencyCode('EUR'); + var files = ['ca-gregorian.json', 'currencies.json', 'numbers.json', 'timeZoneNames.json', 'numberingSystems.json']; + var loader = ej.base.loadCldr; + var loadCulture = function (prop) { + var ajax; + if (prop === 'numberingSystems.json') { + ajax = new ej.base.Ajax(location.origin + '/../../scripts/cldr-data/supplemental/' + files[prop], 'GET', false); + } else { + ajax = new ej.base.Ajax(location.origin + '/../../scripts/cldr-data/main/' + name + '/' + files[prop], 'GET', false); + } + ajax.onSuccess = function (value) { + loader(JSON.parse(value)); + }; + ajax.send(); + }; + for (var prop = 0; prop < files.length; prop++) { + loadCulture(prop); + } + } + document.addEventListener('DOMContentLoaded', function () { + loadCultureFiles('de'); + }); + + function created() { + var spreadsheet = ej.base.getComponent(document.getElementById('spreadsheet'), 'spreadsheet'); + spreadsheet.cellFormat({ textAlign: 'center', fontWeight: 'bold' }, 'A1:E1'); + spreadsheet.numberFormat(ej.spreadsheet.getFormatFromType('Currency'), 'D2:E12'); + spreadsheet.numberFormat(ej.spreadsheet.getFormatFromType('Currency'), 'E13:E15'); + } + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/tagHelper b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/tagHelper new file mode 100644 index 0000000000..988758b767 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/tagHelper @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + function loadCultureFiles(name) { + ej.base.setCulture(name); + ej.base.setCurrencyCode('EUR'); + var files = ['ca-gregorian.json', 'currencies.json', 'numbers.json', 'timeZoneNames.json', 'numberingSystems.json']; + var loader = ej.base.loadCldr; + var loadCulture = function (prop) { + var ajax; + if (prop === 'numberingSystems.json') { + ajax = new ej.base.Ajax(location.origin + '/../../scripts/cldr-data/supplemental/' + files[prop], 'GET', false); + } else { + ajax = new ej.base.Ajax(location.origin + '/../../scripts/cldr-data/main/' + name + '/' + files[prop], 'GET', false); + } + ajax.onSuccess = function (value) { + loader(JSON.parse(value)); + }; + ajax.send(); + }; + for (var prop = 0; prop < files.length; prop++) { + loadCulture(prop); + } + } + document.addEventListener('DOMContentLoaded', function () { + loadCultureFiles('de'); + }); + + function created() { + var spreadsheet = ej.base.getComponent(document.getElementById('spreadsheet'), 'spreadsheet'); + spreadsheet.cellFormat({ textAlign: 'center', fontWeight: 'bold' }, 'A1:E1'); + spreadsheet.numberFormat(ej.spreadsheet.getFormatFromType('Currency'), 'D2:E12'); + spreadsheet.numberFormat(ej.spreadsheet.getFormatFromType('Currency'), 'E13:E15'); + } + \ No newline at end of file diff --git a/ej2-asp-core-mvc/spreadsheet/formulas.md b/ej2-asp-core-mvc/spreadsheet/formulas.md index 1e6f1bd392..2d6bf7ee1f 100644 --- a/ej2-asp-core-mvc/spreadsheet/formulas.md +++ b/ej2-asp-core-mvc/spreadsheet/formulas.md @@ -28,7 +28,32 @@ Previously, although you could import culture-based Excel files into the Spreads > Before importing culture-based Excel files, ensure that the Spreadsheet control is rendered with the corresponding culture. Additionally, launch the import/export services with the same culture to ensure compatibility. -When loading spreadsheet data with culture-based formula argument separators using cell data binding, local/remote data, or JSON, ensure to set the [listSeparator](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.spreadsheet.spreadsheet.html#Syncfusion_EJ2_Spreadsheet_Spreadsheet_ListSeparator) property value as the culture-based list separator from your end. Additionally, note that when importing an Excel file, the [listSeparator](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.spreadsheet.spreadsheet.html#Syncfusion_EJ2_Spreadsheet_Spreadsheet_ListSeparator) property will be updated based on the culture of the launched import/export service. +When loading spreadsheet data with culture-based formula argument separators using cell data binding, local/remote data, or JSON, ensure to set the [listSeparator](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.spreadsheet.spreadsheet.html#Syncfusion_EJ2_Spreadsheet_Spreadsheet_ListSeparator) property value as the culture-based list separator from your end. Additionally, note that when importing an Excel file, the [listSeparator](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.spreadsheet.spreadsheet.html#Syncfusion_EJ2_Spreadsheet_Spreadsheet_ListSeparator) property will be updated based on the culture of the launched import/export service. + +In the example below, the Spreadsheet control is rendered with the `German culture (de)`. Additionally, you can find references on how to set the culture-based argument separator and culture-based formatted numeric value as arguments to the formulas. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/spreadsheet/formula-cs3/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="FormulaController.cs" %} +{% include code-snippet/spreadsheet/formula-cs3/formulaController.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/spreadsheet/formula-cs3/razor %} +{% endhighlight %} +{% highlight c# tabtitle="FormulaController.cs" %} +{% include code-snippet/spreadsheet/formula-cs3/formulaController.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} ## Create User Defined Functions / Custom Functions From 1b16549564c793027f5120cb5f6e8134591a68c3 Mon Sep 17 00:00:00 2001 From: Sridhar Alagiri Samy Date: Tue, 19 Mar 2024 17:18:36 +0530 Subject: [PATCH 002/134] 876470: Removed empty spaces (cherry picked from commit ab94f549484efa803b5625923811e06a22448919) --- .../formula-cs3/formulaController.cs | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/formulaController.cs b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/formulaController.cs index 5b350badd9..feee06a72d 100644 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/formulaController.cs +++ b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/formulaController.cs @@ -1,19 +1,19 @@ public IActionResult Index() { - List data = new List() - { - new { ItemCode= "I231", ItemName= "Chinese Combo Noodle", Quantity= "2", Rate= "125", Amount= "=PRODUCT(C2;D2)" }, - new { ItemCode= "I245", ItemName= "Chinese Combo Rice", Quantity= "3", Rate= "125", Amount= "=PRODUCT(C3;D3)" }, - new { ItemCode= "I237", ItemName= "Amritsari Chola", Quantity= "2", Rate= "225", Amount= "=PRODUCT(C4;D4)" }, - new { ItemCode= "I291", ItemName= "Asian Mixed Entree Platt", Quantity= "3", Rate= "165", Amount= "=PRODUCT(C5;D5)" }, - new { ItemCode= "I268", ItemName= "Chinese Combo Chicken", Quantity= "3", Rate= "125", Amount= "=PRODUCT(C6;D6)" }, - new { ItemCode= "I251", ItemName= "Chivas Regal", Quantity= "1", Rate= "325", Amount= "=PRODUCT(C7;D7)" }, - new { ItemCode= "I256", ItemName= "Chicken Drumsticks", Quantity= "2", Rate= "180", Amount= "=PRODUCT(C8;D8)" }, - new { ItemCode= "I232", ItemName= "Manchow Soup", Quantity= "2", Rate= "160", Amount= "=PRODUCT(C9;D9)" }, - new { ItemCode= "I290", ItemName= "Schezuan Chicken", Quantity= "3", Rate= "180", Amount= "=PRODUCT(C10;D10)" }, - new { ItemCode= "I229", ItemName= "Manchow Soup", Quantity= "2", Rate= "125", Amount= "=PRODUCT(C11;D11)" }, - new { ItemCode= "I239", ItemName= "Jw Black Lable", Quantity= "2", Rate= "175", Amount= "=PRODUCT(C12;D12)" }, - }; - ViewBag.DefaultData = data; - return View(); + List data = new List() + { + new { ItemCode= "I231", ItemName= "Chinese Combo Noodle", Quantity= "2", Rate= "125", Amount= "=PRODUCT(C2;D2)" }, + new { ItemCode= "I245", ItemName= "Chinese Combo Rice", Quantity= "3", Rate= "125", Amount= "=PRODUCT(C3;D3)" }, + new { ItemCode= "I237", ItemName= "Amritsari Chola", Quantity= "2", Rate= "225", Amount= "=PRODUCT(C4;D4)" }, + new { ItemCode= "I291", ItemName= "Asian Mixed Entree Platt", Quantity= "3", Rate= "165", Amount= "=PRODUCT(C5;D5)" }, + new { ItemCode= "I268", ItemName= "Chinese Combo Chicken", Quantity= "3", Rate= "125", Amount= "=PRODUCT(C6;D6)" }, + new { ItemCode= "I251", ItemName= "Chivas Regal", Quantity= "1", Rate= "325", Amount= "=PRODUCT(C7;D7)" }, + new { ItemCode= "I256", ItemName= "Chicken Drumsticks", Quantity= "2", Rate= "180", Amount= "=PRODUCT(C8;D8)" }, + new { ItemCode= "I232", ItemName= "Manchow Soup", Quantity= "2", Rate= "160", Amount= "=PRODUCT(C9;D9)" }, + new { ItemCode= "I290", ItemName= "Schezuan Chicken", Quantity= "3", Rate= "180", Amount= "=PRODUCT(C10;D10)" }, + new { ItemCode= "I229", ItemName= "Manchow Soup", Quantity= "2", Rate= "125", Amount= "=PRODUCT(C11;D11)" }, + new { ItemCode= "I239", ItemName= "Jw Black Lable", Quantity= "2", Rate= "175", Amount= "=PRODUCT(C12;D12)" }, + }; + ViewBag.DefaultData = data; + return View(); } \ No newline at end of file From 82d9ffc509a62c71cc12d2f0426ae91af8c36b80 Mon Sep 17 00:00:00 2001 From: Soundeswari-Selvam Date: Tue, 19 Mar 2024 18:05:14 +0530 Subject: [PATCH 003/134] 875329: Resolved preview issues in circular chart 3d in ASP.NET Core and ASP.NET MVC UG. --- .../code-snippet/circular-chart/user-interaction/export/razor | 2 +- .../circular-chart/user-interaction/export/tagHelper | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/circular-chart/user-interaction/export/razor b/ej2-asp-core-mvc/code-snippet/circular-chart/user-interaction/export/razor index 689e91e020..a2f676e058 100644 --- a/ej2-asp-core-mvc/code-snippet/circular-chart/user-interaction/export/razor +++ b/ej2-asp-core-mvc/code-snippet/circular-chart/user-interaction/export/razor @@ -10,6 +10,6 @@ \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/circular-chart/user-interaction/export/tagHelper b/ej2-asp-core-mvc/code-snippet/circular-chart/user-interaction/export/tagHelper index 6ea46ebb8b..7d4278431b 100644 --- a/ej2-asp-core-mvc/code-snippet/circular-chart/user-interaction/export/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/circular-chart/user-interaction/export/tagHelper @@ -13,6 +13,6 @@ \ No newline at end of file From b1fa84b8d330895403ffe1b2bfb196dc6ca8058e Mon Sep 17 00:00:00 2001 From: ShanmugarajanSaravanan <111413468+ShanmugarajanSaravanan@users.noreply.github.com> Date: Tue, 19 Mar 2024 18:32:53 +0530 Subject: [PATCH 004/134] 875459: Keytip UG documentation added. --- .../keytip/backstagemenu-keytip/keytip.cs | 4 + .../ribbon/keytip/backstagemenu-keytip/razor | 126 ++++++++++++++++ .../keytip/backstagemenu-keytip/tagHelper | 132 +++++++++++++++++ .../ribbon/keytip/filemenu-keytip/keytip.cs | 4 + .../ribbon/keytip/filemenu-keytip/razor | 50 +++++++ .../ribbon/keytip/filemenu-keytip/tagHelper | 57 ++++++++ .../ribbon/keytip/items-keytip/keytip.cs | 4 + .../ribbon/keytip/items-keytip/razor | 134 +++++++++++++++++ .../ribbon/keytip/items-keytip/tagHelper | 136 ++++++++++++++++++ .../keytip/launcher-icon-keytip/keytip.cs | 4 + .../ribbon/keytip/launcher-icon-keytip/razor | 50 +++++++ .../keytip/launcher-icon-keytip/tagHelper | 58 ++++++++ .../keytip/layout-switcher-keytip/keytip.cs | 4 + .../keytip/layout-switcher-keytip/razor | 50 +++++++ .../keytip/layout-switcher-keytip/tagHelper | 57 ++++++++ ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md | 100 +++++++++++++ .../ribbon/EJ2_ASP.NETCORE/keytip.md | 99 +++++++++++++ .../ribbon/images/ribbon-backstage-keytip.png | Bin 0 -> 15217 bytes .../ribbon/images/ribbon-filemenu-keytip.png | Bin 0 -> 6600 bytes .../ribbon/images/ribbon-items-keytip.png | Bin 0 -> 22271 bytes .../images/ribbon-launchericon-keytip.png | Bin 0 -> 6134 bytes .../images/ribbon-layout-switcher-keytip.png | Bin 0 -> 7033 bytes ej2-asp-core-toc.html | 1 + ej2-asp-mvc-toc.html | 1 + 24 files changed, 1071 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/keytip.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/keytip.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/keytip.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/keytip.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/keytip.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/tagHelper create mode 100644 ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md create mode 100644 ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-backstage-keytip.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-filemenu-keytip.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-items-keytip.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-launchericon-keytip.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-layout-switcher-keytip.png diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/keytip.cs b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/keytip.cs new file mode 100644 index 0000000000..ac4820f234 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/keytip.cs @@ -0,0 +1,4 @@ +public ActionResult KeyTip() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/razor b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/razor new file mode 100644 index 0000000000..e6e0e830a9 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/razor @@ -0,0 +1,126 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; + List backstageItems = new List() { + new BackstageItem { Id = "home", Text = "Home", KeyTip = "H", IconCss = "e-icons e-home", Content = processBackstageContent("home") }, + new BackstageItem { Id = "new", Text = "New", KeyTip = "N", IconCss = "e-icons e-file-new", Content = processBackstageContent("new") }, + new BackstageItem { Id = "open", Text = "Open", KeyTip = "O", IconCss = "e-icons e-folder-open", Content = processBackstageContent("open") } + }; + BackStageMenu backstageSettings = new BackStageMenu() { Text = "File", Visible = true, KeyTip = "F", BackButton = new BackstageBackButton { Text = "Close" }, Items = backstageItems }; +} +@functions { + string processBackstageContent(string item) + { + string content = ""; + switch (item) + { + case "home": + { + content = "
Recent
Ribbon.docx EJ2 >> Components >> Navigations >> Ribbon >> default
"; + break; + } + case "new": + { + content = "
New
New document
"; + break; + } + case "open": + { + content = "
Open in Desktop App Use the full functionality of Ribbon
Protect Document To prevent accidental changes, this document has been set to open as view-only.
"; + break; + } + } + return content; + } +} + +@Html.EJS().Ribbon("ribbon").EnableKeyTips(true).Created("ribbonCreated").BackStageMenu(backstageSettings).Tabs(tab => { + tab.Header("Home").Groups(group => + { + group.Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).SplitButtonSettings(splitbutton => + { + splitbutton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/tagHelper new file mode 100644 index 0000000000..54daa5fa24 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/backstagemenu-keytip/tagHelper @@ -0,0 +1,132 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; + var backButtonSettings = new { text = "Close" }; + List backstageItems = new List() { + new BackstageItem { Id = "home", Text = "Home", KeyTip="H", IconCss = "e-icons e-home", Content = processBackstageContent("home") }, + new BackstageItem { Id = "new", Text = "New", KeyTip="N", IconCss = "e-icons e-file-new", Content = processBackstageContent("new") }, + new BackstageItem { Id = "open", Text = "Open", KeyTip="O", IconCss = "e-icons e-folder-open", Content = processBackstageContent("open") } + }; + string processBackstageContent(string item) + { + string content = ""; + switch (item) + { + case "home": + { + content = "
Recent
Ribbon.docx EJ2 >> Components >> Navigations >> Ribbon >> default
"; + break; + } + case "new": + { + content = "
New
New document
"; + break; + } + case "open": + { + content = "
Open in Desktop App Use the full functionality of Ribbon
Protect Document To prevent accidental changes, this document has been set to open as view-only.
"; + break; + } + case "print": + { + content = "

Print this document

"; + break; + } + } + return content; + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/keytip.cs b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/keytip.cs new file mode 100644 index 0000000000..ac4820f234 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/keytip.cs @@ -0,0 +1,4 @@ +public ActionResult KeyTip() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/razor b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/razor new file mode 100644 index 0000000000..5c35dd93c9 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/razor @@ -0,0 +1,50 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; + List fileOptions = new List() + { + new MenuItem { Text = "New", IconCss = "e-icons e-file-new", Id="new" }, + new MenuItem { Text = "Open", IconCss = "e-icons e-folder-open", Id="Open" }, + new MenuItem { Text = "Rename", IconCss = "e-icons e-rename", Id="rename" }, + new MenuItem { Text = "Save as", IconCss = "e-icons e-save", Id="save" } + }; + FileMenuSettings FileMenuSettings = new FileMenuSettings() { Text = "File", KeyTip = "F", Visible = true, MenuItems = fileOptions }; +} + + +@Html.EJS().Ribbon("ribbon").EnableKeyTips(true).Created("ribbonCreated").FileMenu(FileMenuSettings).Tabs(tab => { + tab.Header("Home").Groups(group => + { + group.Header("Clipboard").KeyTip("CD").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).SplitButtonSettings(splitbutton => + { + splitbutton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/tagHelper new file mode 100644 index 0000000000..68530888a8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/filemenu-keytip/tagHelper @@ -0,0 +1,57 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; + List fileOptions = new List() { + new MenuItem { Text = "New", IconCss = "e-icons e-file-new", Id="new" }, + new MenuItem { Text = "Open", IconCss = "e-icons e-folder-open", Id="Open" }, + new MenuItem { Text = "Rename", IconCss = "e-icons e-rename", Id="rename" }, + new MenuItem { Text = "Save as", IconCss = "e-icons e-save", Id="save", + Items= new List() { + new MenuItem { Text = "Microsoft Word (.docx)", IconCss = "sf-icon-word", Id="word" }, + new MenuItem { Text = "Microsoft Word 97-2003(.doc)", IconCss = "sf-icon-word", Id="word97" }, + new MenuItem { Text = "Download as PDF", IconCss = "e-icons e-export-pdf", Id="pdf" }, + } + } + }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/keytip.cs b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/keytip.cs new file mode 100644 index 0000000000..ac4820f234 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/keytip.cs @@ -0,0 +1,4 @@ +public ActionResult KeyTip() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/razor b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/razor new file mode 100644 index 0000000000..a2ec297a98 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/razor @@ -0,0 +1,134 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; + List tableOptions = new List() { new MenuItem { Text = "Insert Table" }, new MenuItem { Text = "This device" }, new MenuItem { Text = "Convert Table" }, new MenuItem { Text = "Excel SpreadSheet" } }; + + List fontSize = new List() { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72", "96" }; + List fontStyle = new List() { "Algerian", "Arial", "Calibri", "Cambria", "Cambria Math", "Courier New", "Candara", "Georgia", "Impact", "Segoe Print", "Segoe Script", "Segoe UI", "Symbol", "Times New Roman", "Verdana", "Windings" }; + + List groupButtonSingle = new List() { + + new RibbonGroupButtonItem { IconCss = "e-icons e-bold", KeyTip="1", Content = "Bold", Selected = true }, + new RibbonGroupButtonItem {IconCss = "e-icons e-italic", KeyTip="2", Content = "Italic" }, + new RibbonGroupButtonItem {IconCss = "e-icons e-underline", KeyTip="3", Content = "Underline" }, + new RibbonGroupButtonItem { IconCss = "e-icons e-strikethrough", KeyTip="4", Content = "Strikethrough" }, + new RibbonGroupButtonItem { IconCss = "e-icons e-change-case", KeyTip="5", Content = "Change Case" } + }; +} + + +@Html.EJS().Ribbon("ribbon").EnableKeyTips(true).Created("ribbonCreated").Tabs(tab => { + tab.Header("Home").KeyTip("H").Groups(group => + { + group.Header("Clipboard").KeyTip("CD").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).KeyTip("PA").SplitButtonSettings(splitbutton => + { + splitbutton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).KeyTip("CU").ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).KeyTip("CO").ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).KeyTip("CS").ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Font").EnableGroupOverflow(true).Orientation(ItemOrientation.Row).GroupIconCss("e-icons e-bold").CssClass("font-group").Collections(collections => + { + collections.Id("ribbon-collection").Items(items => + { + items.Type(RibbonItemType.ComboBox).KeyTip("O1").ComboBoxSettings(comboBox => + { + comboBox.DataSource(fontStyle).Index(3).AllowFiltering(true).Width("150px"); + }).Add(); + items.Type(RibbonItemType.ComboBox).KeyTip("O2").ComboBoxSettings(comboBox => + { + comboBox.DataSource(fontSize).Index(3).Width("65px"); + }).Add(); + }).Add(); + collections.Items(items => + { + items.Type(RibbonItemType.GroupButton).KeyTip("GB").AllowedSizes(RibbonItemSize.Small).GroupButtonSettings(groupButton => + { + groupButton.Selection(RibbonGroupButtonSelection.Single).Header("Format Styles").Items(groupButtonSingle); + }).Add(); + items.Type(RibbonItemType.ColorPicker).KeyTip("CP").AllowedSizes(RibbonItemSize.Small).ColorPickerSettings(colorPicker => + { + colorPicker.Value("#123456"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").GroupIconCss("e-icons e-paste").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).KeyTip("GY").GallerySettings(gallery => + { + gallery.ItemCount(3).Groups(galleryGroups => + { + galleryGroups.Header("Styles").ItemWidth("100").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + galleryItems.Content("Heading 3").Add(); + galleryItems.Content("Heading 4").Add(); + galleryItems.Content("Heading 5").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + group.Header("Tables").IsCollapsible(false).Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.DropDown).KeyTip("T").AllowedSizes(RibbonItemSize.Large).DropDownSettings(dropDown => + { + dropDown.IconCss("e-icons e-table").Content("Table").Items(tableOptions); + }).Add(); + }).Add(); + }).Add(); + group.Header("Show").IsCollapsible(false).Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.CheckBox).KeyTip("R1").CheckBoxSettings(checkBox => + { + checkBox.Label("Ruler").Checked(false); + }).Add(); + items.Type(RibbonItemType.CheckBox).KeyTip("R2").CheckBoxSettings(checkBox => + { + checkBox.Label("Gridlines").Checked(false); + }).Add(); + items.Type(RibbonItemType.CheckBox).KeyTip("R3").CheckBoxSettings(checkBox => + { + checkBox.Label("Navigation Pane").Checked(true); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/tagHelper new file mode 100644 index 0000000000..16b78b1134 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/items-keytip/tagHelper @@ -0,0 +1,136 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + +@{ + + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; + List tableOptions = new List() { new MenuItem { Text = "Insert Table" }, new MenuItem { Text = "Draw Table" }, new MenuItem { Text = "Convert Table" }, new MenuItem { Text = "Excel SpreadSheet" } }; + List fontStyle = new List() { "Algerian", "Arial", "Calibri", "Cambria", "Cambria Math", "Courier New", "Candara", "Georgia", "Impact", "Segoe Print", "Segoe Script", "Segoe UI", "Symbol", "Times New Roman", "Verdana", "Windings" }; + List fontSize = new List() { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72", "96" }; + List groupButtonSingle = new List() { + + new RibbonGroupButtonItem { IconCss = "e-icons e-bold", Content = "Bold", Selected = true, KeyTip="1" }, + new RibbonGroupButtonItem {IconCss = "e-icons e-italic", Content = "Italic", KeyTip="2" }, + new RibbonGroupButtonItem {IconCss = "e-icons e-underline", Content = "Underline", KeyTip="3" }, + new RibbonGroupButtonItem { IconCss = "e-icons e-strikethrough", Content = "Strikethrough", KeyTip="4" }, + new RibbonGroupButtonItem { IconCss = "e-icons e-change-case", Content = "Change Case", KeyTip="5" } + }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/keytip.cs b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/keytip.cs new file mode 100644 index 0000000000..ac4820f234 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/keytip.cs @@ -0,0 +1,4 @@ +public ActionResult KeyTip() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/razor b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/razor new file mode 100644 index 0000000000..c7aa8289a0 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/razor @@ -0,0 +1,50 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; + List fileOptions = new List() + { + new MenuItem { Text = "New", IconCss = "e-icons e-file-new", Id="new" }, + new MenuItem { Text = "Open", IconCss = "e-icons e-folder-open", Id="Open" }, + new MenuItem { Text = "Rename", IconCss = "e-icons e-rename", Id="rename" }, + new MenuItem { Text = "Save as", IconCss = "e-icons e-save", Id="save" } + }; + FileMenuSettings FileMenuSettings = new FileMenuSettings() { Text = "File", Visible = true, MenuItems = fileOptions }; +} + + +@Html.EJS().Ribbon("ribbon").EnableKeyTips(true).Created("ribbonCreated").FileMenu(FileMenuSettings).Tabs(tab => { + tab.Header("Home").KeyTip("H").Groups(group => + { + group.Header("Clipboard").ShowLauncherIcon(true).LauncherIconKeyTip("L").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).SplitButtonSettings(splitbutton => + { + splitbutton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/tagHelper new file mode 100644 index 0000000000..fb1c8e5f48 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/launcher-icon-keytip/tagHelper @@ -0,0 +1,58 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; + List fileOptions = new List() { + new MenuItem { Text = "New", IconCss = "e-icons e-file-new", Id="new" }, + new MenuItem { Text = "Open", IconCss = "e-icons e-folder-open", Id="Open" }, + new MenuItem { Text = "Rename", IconCss = "e-icons e-rename", Id="rename" }, + new MenuItem { Text = "Save as", IconCss = "e-icons e-save", Id="save", + Items= new List() { + new MenuItem { Text = "Microsoft Word (.docx)", IconCss = "sf-icon-word", Id="word" }, + new MenuItem { Text = "Microsoft Word 97-2003(.doc)", IconCss = "sf-icon-word", Id="word97" }, + new MenuItem { Text = "Download as PDF", IconCss = "e-icons e-export-pdf", Id="pdf" }, + } + } + }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/keytip.cs b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/keytip.cs new file mode 100644 index 0000000000..ac4820f234 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/keytip.cs @@ -0,0 +1,4 @@ +public ActionResult KeyTip() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/razor b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/razor new file mode 100644 index 0000000000..652cb19e44 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/razor @@ -0,0 +1,50 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; + List fileOptions = new List() + { + new MenuItem { Text = "New", IconCss = "e-icons e-file-new", Id="new" }, + new MenuItem { Text = "Open", IconCss = "e-icons e-folder-open", Id="Open" }, + new MenuItem { Text = "Rename", IconCss = "e-icons e-rename", Id="rename" }, + new MenuItem { Text = "Save as", IconCss = "e-icons e-save", Id="save" } + }; + FileMenuSettings FileMenuSettings = new FileMenuSettings() { Text = "File", Visible = true, MenuItems = fileOptions }; +} + + +@Html.EJS().Ribbon("ribbon").EnableKeyTips(true).LayoutSwitcherKeyTip("LS").Created("ribbonCreated").FileMenu(FileMenuSettings).Tabs(tab => { + tab.Header("Home").Groups(group => + { + group.Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).SplitButtonSettings(splitbutton => + { + splitbutton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/tagHelper new file mode 100644 index 0000000000..388e876b5b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/keytip/layout-switcher-keytip/tagHelper @@ -0,0 +1,57 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; + List fileOptions = new List() { + new MenuItem { Text = "New", IconCss = "e-icons e-file-new", Id="new" }, + new MenuItem { Text = "Open", IconCss = "e-icons e-folder-open", Id="Open" }, + new MenuItem { Text = "Rename", IconCss = "e-icons e-rename", Id="rename" }, + new MenuItem { Text = "Save as", IconCss = "e-icons e-save", Id="save", + Items= new List() { + new MenuItem { Text = "Microsoft Word (.docx)", IconCss = "sf-icon-word", Id="word" }, + new MenuItem { Text = "Microsoft Word 97-2003(.doc)", IconCss = "sf-icon-word", Id="word97" }, + new MenuItem { Text = "Download as PDF", IconCss = "e-icons e-export-pdf", Id="pdf" }, + } + } + }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md new file mode 100644 index 0000000000..97ad359467 --- /dev/null +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md @@ -0,0 +1,100 @@ +--- +layout: post +title: Ribbon Keytip in ##Platform_Name## Ribbon Control | Syncfusion +description: Learn here all about Keytip in Syncfusion ##Platform_Name## Ribbon control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Ribbon +publishingplatform: ##Platform_Name## +documentation: ug +--- + + +# Ribbon Keytips + +The Ribbon supports keyboard navigations to interact the ribbon items using the keytips which can be enabled by setting the [EnableKeyTips](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_EnableKeyTips) property. + +The keytips will be shown when the `Alt + Windows/Command` keys are pressed. + +## Ribbon items keytip + +You can add keytips to all the ribbon items by using the [KeyTip](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonItem.html#Syncfusion_EJ2_Ribbon_RibbonItem_KeyTip) property. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/items-keytip/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with items keytip](./images/ribbon-items-keytip.png) + +## File menu keytip + +You can add keytips to the file menu by using the [KeyTip](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.FileMenuSettings.html#Syncfusion_EJ2_Ribbon_FileMenuSettings_KeyTip) property. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/filemenu-keytip/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with File menu keytip](./images/ribbon-filemenu-keytip.png) + +## Backstage menu keytip + +You can add keytips to backstage menu items by using the [KeyTip](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.BackStageMenu.html#Syncfusion_EJ2_Ribbon_BackStageMenu_KeyTip) property. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/backstagemenu-keytip/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with Backstage menu keytip](./images/ribbon-backstage-keytip.png) + +## Ribbon layout switcher keytip + +You can add keytip to the layout switcher by using the [LayoutSwitcherKeyTip](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_LayoutSwitcherKeyTip) property. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/layout-switcher-keytip/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with layout switcher keytip](./images/ribbon-layout-switcher-keytip.png) + +## Ribbon launcher icon keytip + +You can add keytip to the launcher icon by using the [LauncherIconKeyTip](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGroup.html#Syncfusion_EJ2_Ribbon_RibbonGroup_LauncherIconKeyTip) property. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/launcher-icon-keytip/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with launcher icon keytip](./images/ribbon-launchericon-keytip.png) + +## Methods + +### Show keytips + +You can use the `showKeyTips` method to shown the keytips dynamically. + +In order to show specific keytips, pass the key string as an argument in the `showKeyTips('H')` method. + +### Hide keytips + +You can use the `hideKeyTips` method in Ribbon to remove the keytips dynamically. This will remove all the visible keytips. + +## Guidelines for adding keytips + +Before adding keytips to the ribbon items consider the following: + +* Avoid using the same keytip setting on multiple items. + +> For example: When you add the keytip text `H` or `HF` for the same items, it activates the first item occurrence of `H`, while any subsequent instances of `H` or `HF` are ignored. + +* Do not use the same first letter for the single and double keytip items. + +> For example: When accessing keytip text `F`, `FP` and `FPF` added for the different ribbon items and pressing `F` key, only the `F` key tip associated item will be activated while the `FP`, `FPF` configured ribbon items will be ignored. diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md new file mode 100644 index 0000000000..d59d2223bf --- /dev/null +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md @@ -0,0 +1,99 @@ +--- +layout: post +title: Ribbon Keytip in ##Platform_Name## Ribbon Control | Syncfusion +description: Learn here all about Keytip in Syncfusion ##Platform_Name## Ribbon control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Ribbon +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Ribbon Keytips + +The Ribbon supports keyboard navigations to interact the ribbon items using the keytips which can be enabled by setting the [enableKeyTips](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_EnableKeyTips) property. + +The keytips will be shown when the `Alt + Windows/Command` keys are pressed. + +## Ribbon items keytip + +You can add keytips to all the ribbon items by using the [keyTip](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonItem.html#Syncfusion_EJ2_Ribbon_RibbonItem_KeyTip) property. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/items-keytip/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with items keytip](./images/ribbon-items-keytip.png) + +## File menu keytip + +You can add keytips to the file menu by using the [keyTip](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.FileMenuSettings.html#Syncfusion_EJ2_Ribbon_FileMenuSettings_KeyTip) property. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/filemenu-keytip/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with File menu keytip](./images/ribbon-filemenu-keytip.png) + +## Backstage menu keytip + +You can add keytips to backstage menu items by using the [keyTip](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.BackStageMenu.html#Syncfusion_EJ2_Ribbon_BackStageMenu_KeyTip) property. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/backstagemenu-keytip/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with Backstage menu keytip](./images/ribbon-backstage-keytip.png) + +## Ribbon layout switcher keytip + +You can add keytip to the layout switcher by using the [layoutSwitcherKeyTip](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_LayoutSwitcherKeyTip) property. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/layout-switcher-keytip/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with layout switcher keytip](./images/ribbon-layout-switcher-keytip.png) + +## Ribbon launcher icon keytip + +You can add keytip to the launcher icon by using the [launcherIconKeyTip](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGroup.html#Syncfusion_EJ2_Ribbon_RibbonGroup_LauncherIconKeyTip) property. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/keytip/launcher-icon-keytip/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with launcher icon keytip](./images/ribbon-launchericon-keytip.png) + +## Methods + +### Show keytips + +You can use the `showKeyTips` method to shown the keytips dynamically. + +In order to show specific keytips, pass the key string as an argument in the `showKeyTips('H')` method. + +### Hide keytips + +You can use the `hideKeyTips` method in Ribbon to remove the keytips dynamically. This will remove all the visible keytips. + +## Guidelines for adding keytips + +Before adding keytips to the ribbon items consider the following: + +* Avoid using the same keytip setting on multiple items. + +> For example: When you add the keytip text `H` or `HF` for the same items, it activates the first item occurrence of `H`, while any subsequent instances of `H` or `HF` are ignored. + +* Do not use the same first letter for the single and double keytip items. + +> For example: When accessing keytip text `F`, `FP` and `FPF` added for the different ribbon items and pressing `F` key, only the `F` key tip associated item will be activated while the `FP`, `FPF` configured ribbon items will be ignored. diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-backstage-keytip.png b/ej2-asp-core-mvc/ribbon/images/ribbon-backstage-keytip.png new file mode 100644 index 0000000000000000000000000000000000000000..950e5d41ce7828fcd76ed6c1b2ff4e2f103ddc37 GIT binary patch literal 15217 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 z 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-launchericon-keytip.png b/ej2-asp-core-mvc/ribbon/images/ribbon-launchericon-keytip.png new file mode 100644 index 0000000000000000000000000000000000000000..0c0fffffc4f15c94b5dae13c45adb7303bf8dc4d GIT binary patch literal 6134 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 EFO*k=&j0`b literal 0 HcmV?d00001 diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 8b8db8492d..91a0aef659 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2143,6 +2143,7 @@
  • Ribbon Layouts
  • File menu
  • Backstage Menu
  • +
  • Ribbon Keytips
  • Help Pane Template
  • Tooltip
  • Resizing
  • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 8449f7ceb0..23c62f3c7d 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -2103,6 +2103,7 @@
  • Ribbon Layouts
  • File menu
  • Backstage Menu
  • +
  • Ribbon Keytips
  • Help Pane Template
  • Tooltip
  • Resizing
  • From 1dd065119f191e1596050a3a013af69d91bf1d73 Mon Sep 17 00:00:00 2001 From: ShanmugarajanSaravanan <111413468+ShanmugarajanSaravanan@users.noreply.github.com> Date: Tue, 19 Mar 2024 18:50:03 +0530 Subject: [PATCH 005/134] 875459: Heading updated. --- ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md | 2 +- ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md index 97ad359467..895cef8d8d 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/keytip.md @@ -9,7 +9,7 @@ documentation: ug --- -# Ribbon Keytips +# Keytips in ASP.NET MVC Ribbon control The Ribbon supports keyboard navigations to interact the ribbon items using the keytips which can be enabled by setting the [EnableKeyTips](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_EnableKeyTips) property. diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md index d59d2223bf..c35b22cd82 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/keytip.md @@ -8,7 +8,7 @@ publishingplatform: ##Platform_Name## documentation: ug --- -# Ribbon Keytips +# Keytips in ASP.NET Core Ribbon control The Ribbon supports keyboard navigations to interact the ribbon items using the keytips which can be enabled by setting the [enableKeyTips](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_EnableKeyTips) property. From c1cf75745712fe423a1e5dc10b38b47345c6c240 Mon Sep 17 00:00:00 2001 From: mohanrajsf3477 <98141646+mohanrajsf3477@users.noreply.github.com> Date: Tue, 19 Mar 2024 18:56:14 +0530 Subject: [PATCH 006/134] 871738: UG documentation changed moved to hotfix for TextArea component --- .../code-snippet/textarea/events/blur/blur.cs | 4 + .../code-snippet/textarea/events/blur/razor | 11 + .../textarea/events/blur/tagHelper | 11 + .../textarea/events/change/change.cs | 4 + .../code-snippet/textarea/events/change/razor | 11 + .../textarea/events/change/tagHelper | 11 + .../textarea/events/created/created.cs | 4 + .../textarea/events/created/razor | 11 + .../textarea/events/created/tagHelper | 11 + .../textarea/events/destroyed/destroyed.cs | 4 + .../textarea/events/destroyed/razor | 11 + .../textarea/events/destroyed/tagHelper | 11 + .../textarea/events/focus/focus.cs | 4 + .../code-snippet/textarea/events/focus/razor | 11 + .../textarea/events/focus/tagHelper | 11 + .../textarea/events/input/input.cs | 4 + .../code-snippet/textarea/events/input/razor | 11 + .../textarea/events/input/tagHelper | 11 + .../textarea/floating-label/label/label.cs | 4 + .../textarea/floating-label/label/razor | 5 + .../textarea/floating-label/label/tagHelper | 5 + .../localization1/localization1.cs | 4 + .../floating-label/localization1/razor | 5 + .../floating-label/localization1/tagHelper | 5 + .../localization2/localization2.cs | 4 + .../floating-label/localization2/razor | 18 + .../floating-label/localization2/tagHelper | 17 + .../form-validator/form-validator.cs | 4 + .../form-support/form-validator/razor | 56 ++++ .../form-support/form-validator/tagHelper | 56 ++++ .../textarea/form-support/form/form.cs | 4 + .../textarea/form-support/form/razor | 11 + .../textarea/form-support/form/tagHelper | 11 + .../textarea/maxLength/maxLength.cs | 4 + .../code-snippet/textarea/maxLength/razor | 5 + .../code-snippet/textarea/maxLength/tagHelper | 5 + .../textarea/methods-cs1/methods1.cs | 4 + .../code-snippet/textarea/methods-cs1/razor | 13 + .../textarea/methods-cs1/tagHelper | 14 + .../textarea/methods-cs2/methods2.cs | 4 + .../code-snippet/textarea/methods-cs2/razor | 13 + .../textarea/methods-cs2/tagHelper | 14 + .../textarea/methods-cs3/methods3.cs | 4 + .../code-snippet/textarea/methods-cs3/razor | 13 + .../textarea/methods-cs3/tagHelper | 14 + .../code-snippet/textarea/resize/resize/razor | 5 + .../textarea/resize/resize/resize.cs | 4 + .../textarea/resize/resize/tagHelper | 5 + .../code-snippet/textarea/resize/width/razor | 5 + .../textarea/resize/width/tagHelper | 5 + .../textarea/resize/width/width.cs | 4 + .../code-snippet/textarea/rows-cols/razor | 10 + .../textarea/rows-cols/rows-cols.cs | 4 + .../code-snippet/textarea/rows-cols/tagHelper | 10 + .../style-appearance/asterisk/asterisk.cs | 4 + .../textarea/style-appearance/asterisk/razor | 13 + .../style-appearance/asterisk/tagHelper | 13 + .../style-appearance/cssClass/cssClass.cs | 4 + .../textarea/style-appearance/cssClass/razor | 15 + .../style-appearance/cssClass/tagHelper | 15 + .../filled-outlined/filled-outlined.cs | 4 + .../style-appearance/filled-outlined/razor | 12 + .../filled-outlined/tagHelper | 12 + .../floatLabel-color/floatLabel-color.cs | 4 + .../style-appearance/floatLabel-color/razor | 37 +++ .../floatLabel-color/tagHelper | 37 +++ .../textarea/style-appearance/sizing/razor | 43 +++ .../style-appearance/sizing/sizing.cs | 4 + .../style-appearance/sizing/tagHelper | 43 +++ .../style-appearance/static-clear/razor | 5 + .../static-clear/static-clear.cs | 4 + .../style-appearance/static-clear/tagHelper | 5 + .../style-appearance/textarea-color/razor | 21 ++ .../style-appearance/textarea-color/tagHelper | 21 ++ .../textarea-color/textarea-color.cs | 4 + ej2-asp-core-mvc/textarea/events.md | 180 ++++++++++ ej2-asp-core-mvc/textarea/floating-label.md | 104 ++++++ ej2-asp-core-mvc/textarea/form-support.md | 72 ++++ .../textarea/images/textarea-asterisk.png | Bin 0 -> 2797 bytes .../textarea/images/textarea-color.png | Bin 0 -> 5985 bytes .../images/textarea-filledOutlined.png | Bin 0 -> 9074 bytes .../textarea/images/textarea-float-label.png | Bin 0 -> 4333 bytes .../images/textarea-floatLabel-color.png | Bin 0 -> 4843 bytes .../textarea/images/textarea-form.png | Bin 0 -> 5880 bytes .../images/textarea-localization1.png | Bin 0 -> 3123 bytes .../textarea/images/textarea-maxLength.png | Bin 0 -> 2429 bytes .../textarea/images/textarea-rowscols.png | Bin 0 -> 5072 bytes .../textarea/images/textarea-sizing.png | Bin 0 -> 10682 bytes .../textarea/images/textarea-static-clear.png | Bin 0 -> 4278 bytes ej2-asp-core-mvc/textarea/max-length.md | 46 +++ ej2-asp-core-mvc/textarea/methods.md | 108 ++++++ ej2-asp-core-mvc/textarea/resize.md | 71 ++++ ej2-asp-core-mvc/textarea/rows-columns.md | 45 +++ ej2-asp-core-mvc/textarea/style-appearance.md | 314 ++++++++++++++++++ ej2-asp-core-toc.html | 9 + ej2-asp-mvc-toc.html | 9 + 96 files changed, 1802 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/blur/blur.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/blur/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/blur/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/change/change.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/change/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/change/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/created/created.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/created/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/created/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/destroyed.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/focus/focus.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/focus/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/focus/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/input/input.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/input/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/events/input/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/label.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/localization1.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/localization2.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/form-validator.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/form-support/form/form.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/form-support/form/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/form-support/form/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/maxLength/maxLength.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/maxLength/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/maxLength/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/methods1.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/methods2.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/methods3.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/resize/resize/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/resize/resize/resize.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/resize/resize/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/resize/width/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/resize/width/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/resize/width/width.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/rows-cols/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/rows-cols/rows-cols.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/rows-cols/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/asterisk.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/cssClass.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/filled-outlined.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/floatLabel-color.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/sizing.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/static-clear.cs create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/razor create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/textarea-color.cs create mode 100644 ej2-asp-core-mvc/textarea/events.md create mode 100644 ej2-asp-core-mvc/textarea/floating-label.md create mode 100644 ej2-asp-core-mvc/textarea/form-support.md create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-asterisk.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-color.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-filledOutlined.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-float-label.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-floatLabel-color.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-form.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-localization1.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-maxLength.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-rowscols.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-sizing.png create mode 100644 ej2-asp-core-mvc/textarea/images/textarea-static-clear.png create mode 100644 ej2-asp-core-mvc/textarea/max-length.md create mode 100644 ej2-asp-core-mvc/textarea/methods.md create mode 100644 ej2-asp-core-mvc/textarea/resize.md create mode 100644 ej2-asp-core-mvc/textarea/rows-columns.md create mode 100644 ej2-asp-core-mvc/textarea/style-appearance.md diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/blur/blur.cs b/ej2-asp-core-mvc/code-snippet/textarea/events/blur/blur.cs new file mode 100644 index 0000000000..ff9e1f2f0e --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/blur/blur.cs @@ -0,0 +1,4 @@ +public ActionResult Blur() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/blur/razor b/ej2-asp-core-mvc/code-snippet/textarea/events/blur/razor new file mode 100644 index 0000000000..bb3e87ec2b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/blur/razor @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + +@Html.EJS().TextArea("default").Blur("BlurHandler").Render() + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/blur/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/events/blur/tagHelper new file mode 100644 index 0000000000..0cc348c6ac --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/blur/tagHelper @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/change/change.cs b/ej2-asp-core-mvc/code-snippet/textarea/events/change/change.cs new file mode 100644 index 0000000000..eefc32eea9 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/change/change.cs @@ -0,0 +1,4 @@ +public ActionResult Change() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/change/razor b/ej2-asp-core-mvc/code-snippet/textarea/events/change/razor new file mode 100644 index 0000000000..e413d16c4f --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/change/razor @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + +@Html.EJS().TextArea("default").Change("ChangeHandler").Render() + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/change/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/events/change/tagHelper new file mode 100644 index 0000000000..5a67cd6cb2 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/change/tagHelper @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/created/created.cs b/ej2-asp-core-mvc/code-snippet/textarea/events/created/created.cs new file mode 100644 index 0000000000..757eaf59ee --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/created/created.cs @@ -0,0 +1,4 @@ +public ActionResult Created() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/created/razor b/ej2-asp-core-mvc/code-snippet/textarea/events/created/razor new file mode 100644 index 0000000000..52e0240db9 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/created/razor @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + +@Html.EJS().TextArea("default").Created("Created").Render() + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/created/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/events/created/tagHelper new file mode 100644 index 0000000000..956a92e65d --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/created/tagHelper @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/destroyed.cs b/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/destroyed.cs new file mode 100644 index 0000000000..1c842b650a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/destroyed.cs @@ -0,0 +1,4 @@ +public ActionResult Destroyed() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/razor b/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/razor new file mode 100644 index 0000000000..dd946da10b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/razor @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + +@Html.EJS().TextArea("default").Destroyed("Destroyed").Render() + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/tagHelper new file mode 100644 index 0000000000..21d23c172e --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/destroyed/tagHelper @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/focus/focus.cs b/ej2-asp-core-mvc/code-snippet/textarea/events/focus/focus.cs new file mode 100644 index 0000000000..809b57f90f --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/focus/focus.cs @@ -0,0 +1,4 @@ +public ActionResult Focus() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/focus/razor b/ej2-asp-core-mvc/code-snippet/textarea/events/focus/razor new file mode 100644 index 0000000000..466df363ed --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/focus/razor @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + +@Html.EJS().TextArea("default").Focus("FocusHandler").Render() + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/focus/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/events/focus/tagHelper new file mode 100644 index 0000000000..35a68d1ced --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/focus/tagHelper @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/input/input.cs b/ej2-asp-core-mvc/code-snippet/textarea/events/input/input.cs new file mode 100644 index 0000000000..407b1ed297 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/input/input.cs @@ -0,0 +1,4 @@ +public ActionResult Input() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/input/razor b/ej2-asp-core-mvc/code-snippet/textarea/events/input/razor new file mode 100644 index 0000000000..647ec64a86 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/input/razor @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + +@Html.EJS().TextArea("default").Input("InputHandler").Render() + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/events/input/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/events/input/tagHelper new file mode 100644 index 0000000000..b86fa92812 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/events/input/tagHelper @@ -0,0 +1,11 @@ +@using Syncfusion.EJ2.Inputs + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/label.cs b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/label.cs new file mode 100644 index 0000000000..01558dda96 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/label.cs @@ -0,0 +1,4 @@ +public ActionResult Label() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/razor b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/razor new file mode 100644 index 0000000000..6dd2627e27 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/razor @@ -0,0 +1,5 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").FloatLabelType(FloatLabelType.Auto).Render() +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/tagHelper new file mode 100644 index 0000000000..9bb61291d9 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/label/tagHelper @@ -0,0 +1,5 @@ +
    +
    + +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/localization1.cs b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/localization1.cs new file mode 100644 index 0000000000..a316c3c42e --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/localization1.cs @@ -0,0 +1,4 @@ +public ActionResult Localization1() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/razor b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/razor new file mode 100644 index 0000000000..48306101f6 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/razor @@ -0,0 +1,5 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("veuillez inscrire vos commentaires").Locale("fr-BE").FloatLabelType(FloatLabelType.Auto).Render() +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/tagHelper new file mode 100644 index 0000000000..413381469c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization1/tagHelper @@ -0,0 +1,5 @@ +
    +
    + +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/localization2.cs b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/localization2.cs new file mode 100644 index 0000000000..b0e399acd8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/localization2.cs @@ -0,0 +1,4 @@ +public ActionResult Localization2() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/razor b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/razor new file mode 100644 index 0000000000..59aba910fb --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/razor @@ -0,0 +1,18 @@ + +
    +
    + @Html.EJS().TextArea("default").Locale("de-DE").FloatLabelType(FloatLabelType.Auto).Render() +
    +
    + + diff --git a/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/tagHelper new file mode 100644 index 0000000000..f7b9f786b1 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/floating-label/localization2/tagHelper @@ -0,0 +1,17 @@ +
    +
    + +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/form-validator.cs b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/form-validator.cs new file mode 100644 index 0000000000..ceec3779a8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/form-validator.cs @@ -0,0 +1,4 @@ +public ActionResult FormValidator() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/razor b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/razor new file mode 100644 index 0000000000..fe25dae044 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/razor @@ -0,0 +1,56 @@ +
    +
    +

    Feedback

    +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    + +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").FloatLabelType(FloatLabelType.Auto).HtmlAttributes(new { @name = "comments", @required = "", @data-msg-containerid="commentError" }).Render() +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/tagHelper new file mode 100644 index 0000000000..db0a0fe09d --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form-validator/tagHelper @@ -0,0 +1,56 @@ +
    +
    +

    Feedback

    +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/form.cs b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/form.cs new file mode 100644 index 0000000000..5bc2aad571 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/form.cs @@ -0,0 +1,4 @@ +public ActionResult Form() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/razor b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/razor new file mode 100644 index 0000000000..cdb27dfafd --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/razor @@ -0,0 +1,11 @@ +
    +
    + Please leave your comments +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").FloatLabelType(FloatLabelType.Auto).HtmlAttributes(new { @name = "comments", @required = "" }).Render() +
    + + +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/tagHelper new file mode 100644 index 0000000000..5c729c37bd --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/form-support/form/tagHelper @@ -0,0 +1,11 @@ +
    +
    + Please leave your comments +
    +
    + +
    + + +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/maxLength/maxLength.cs b/ej2-asp-core-mvc/code-snippet/textarea/maxLength/maxLength.cs new file mode 100644 index 0000000000..3c5361a0c8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/maxLength/maxLength.cs @@ -0,0 +1,4 @@ +public ActionResult MaxLength() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/maxLength/razor b/ej2-asp-core-mvc/code-snippet/textarea/maxLength/razor new file mode 100644 index 0000000000..23a7273794 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/maxLength/razor @@ -0,0 +1,5 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").maxLength(20).Render() +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/maxLength/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/maxLength/tagHelper new file mode 100644 index 0000000000..139634a1df --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/maxLength/tagHelper @@ -0,0 +1,5 @@ +
    +
    + +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/methods1.cs b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/methods1.cs new file mode 100644 index 0000000000..de4c3cd7f8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/methods1.cs @@ -0,0 +1,4 @@ +public ActionResult Methods1() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/razor b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/razor new file mode 100644 index 0000000000..8485157de3 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/razor @@ -0,0 +1,13 @@ +
    +
    + @Html.EJS().TextArea("default").Render() + +
    +
    + + diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/tagHelper new file mode 100644 index 0000000000..0c74b0193b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs1/tagHelper @@ -0,0 +1,14 @@ +
    +
    + +
    + +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/methods2.cs b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/methods2.cs new file mode 100644 index 0000000000..561401ee3d --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/methods2.cs @@ -0,0 +1,4 @@ +public ActionResult Methods2() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/razor b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/razor new file mode 100644 index 0000000000..16fd79e563 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/razor @@ -0,0 +1,13 @@ +
    +
    + @Html.EJS().TextArea("default").Render() + +
    +
    + + diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/tagHelper new file mode 100644 index 0000000000..7ace834d98 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs2/tagHelper @@ -0,0 +1,14 @@ +
    +
    + +
    + +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/methods3.cs b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/methods3.cs new file mode 100644 index 0000000000..ec14864710 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/methods3.cs @@ -0,0 +1,4 @@ +public ActionResult Methods3() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/razor b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/razor new file mode 100644 index 0000000000..62c8c38d11 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/razor @@ -0,0 +1,13 @@ +
    +
    + @Html.EJS().TextArea("default").Render() + +
    +
    + + diff --git a/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/tagHelper new file mode 100644 index 0000000000..08b4e9f96e --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/methods-cs3/tagHelper @@ -0,0 +1,14 @@ +
    +
    + +
    + +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/razor b/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/razor new file mode 100644 index 0000000000..b64f2efe84 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/razor @@ -0,0 +1,5 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").ResizeMode(ResizeMode.Both).Render() +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/resize.cs b/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/resize.cs new file mode 100644 index 0000000000..b07a493120 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/resize.cs @@ -0,0 +1,4 @@ +public ActionResult Resize() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/tagHelper new file mode 100644 index 0000000000..ef3defa480 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/resize/resize/tagHelper @@ -0,0 +1,5 @@ +
    +
    + +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/resize/width/razor b/ej2-asp-core-mvc/code-snippet/textarea/resize/width/razor new file mode 100644 index 0000000000..895fbb68b8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/resize/width/razor @@ -0,0 +1,5 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").ResizeMode(ResizeMode.Both).Width(500).Render() +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/resize/width/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/resize/width/tagHelper new file mode 100644 index 0000000000..6bae3fb63a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/resize/width/tagHelper @@ -0,0 +1,5 @@ +
    +
    + +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/resize/width/width.cs b/ej2-asp-core-mvc/code-snippet/textarea/resize/width/width.cs new file mode 100644 index 0000000000..4fd3024e44 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/resize/width/width.cs @@ -0,0 +1,4 @@ +public ActionResult Width() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/razor b/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/razor new file mode 100644 index 0000000000..34b0bb655a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/razor @@ -0,0 +1,10 @@ +
    +
    +
    + @Html.EJS().TextArea("default1").Placeholder("Enter your comments").FloatLabelType(FloatLabelType.Auto).rowsCount(3).columnsCount(35).Render() +
    +
    + @Html.EJS().TextArea("default2").Placeholder("Enter your comments").FloatLabelType(FloatLabelType.Auto).rowsCount(5).columnsCount(40).Render() +
    +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/rows-cols.cs b/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/rows-cols.cs new file mode 100644 index 0000000000..e1b88969ab --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/rows-cols.cs @@ -0,0 +1,4 @@ +public ActionResult RowsCols() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/tagHelper new file mode 100644 index 0000000000..7a88ca2053 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/rows-cols/tagHelper @@ -0,0 +1,10 @@ +
    +
    +
    + +
    +
    + +
    +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/asterisk.cs b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/asterisk.cs new file mode 100644 index 0000000000..6a03951c3a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/asterisk.cs @@ -0,0 +1,4 @@ +public ActionResult Asterisk() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/razor b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/razor new file mode 100644 index 0000000000..e42d93d763 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/razor @@ -0,0 +1,13 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").FloatLabelType(FloatLabelType.Auto).Render() +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/tagHelper new file mode 100644 index 0000000000..577c6e7cb5 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/asterisk/tagHelper @@ -0,0 +1,13 @@ +
    +
    + +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/cssClass.cs b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/cssClass.cs new file mode 100644 index 0000000000..f1bb841424 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/cssClass.cs @@ -0,0 +1,4 @@ +public ActionResult CssClass() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/razor b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/razor new file mode 100644 index 0000000000..d5a2fe8df9 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/razor @@ -0,0 +1,15 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").FloatLabelType(FloatLabelType.Auto).CssClass("custom-textarea").Render() +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/tagHelper new file mode 100644 index 0000000000..d99470a9c1 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/cssClass/tagHelper @@ -0,0 +1,15 @@ +
    +
    + +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/filled-outlined.cs b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/filled-outlined.cs new file mode 100644 index 0000000000..9b0ea7fa13 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/filled-outlined.cs @@ -0,0 +1,4 @@ +public ActionResult FilledOutlined() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/razor b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/razor new file mode 100644 index 0000000000..756b98c85b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/razor @@ -0,0 +1,12 @@ +
    +
    + +
    + @Html.EJS().TextArea("filled").Placeholder("Filled").FloatLabelType(FloatLabelType.Auto).CssClass("e-filled").Render() +
    + +
    + @Html.EJS().TextArea("outlined").Placeholder("Outlined").FloatLabelType(FloatLabelType.Auto).CssClass("e-outline").Render() +
    +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/tagHelper new file mode 100644 index 0000000000..1866e54bd5 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/filled-outlined/tagHelper @@ -0,0 +1,12 @@ +
    +
    + +
    + +
    + +
    + +
    +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/floatLabel-color.cs b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/floatLabel-color.cs new file mode 100644 index 0000000000..431eb41299 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/floatLabel-color.cs @@ -0,0 +1,4 @@ +public ActionResult FloatLabelColor() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/razor b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/razor new file mode 100644 index 0000000000..6e2b2dc7fa --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/razor @@ -0,0 +1,37 @@ +
    +
    +
    + @Html.EJS().TextArea("default1").Placeholder("Success").FloatLabelType(FloatLabelType.Auto).CssClass("e-success").Render() +
    +
    + @Html.EJS().TextArea("default2").Placeholder("Warning").FloatLabelType(FloatLabelType.Auto).CssClass("e-warning").Render() +
    +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/tagHelper new file mode 100644 index 0000000000..b25f49f5d1 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/floatLabel-color/tagHelper @@ -0,0 +1,37 @@ +
    +
    +
    + +
    +
    + +
    +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/razor b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/razor new file mode 100644 index 0000000000..8acd22b4e5 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/razor @@ -0,0 +1,43 @@ +
    +

    Small Size

    + +
    + +
    + +

    Bigger Size

    + +
    + +
    +
    + + diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/sizing.cs b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/sizing.cs new file mode 100644 index 0000000000..132e8522e0 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/sizing.cs @@ -0,0 +1,4 @@ +public ActionResult Sizing() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/tagHelper new file mode 100644 index 0000000000..8acd22b4e5 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/sizing/tagHelper @@ -0,0 +1,43 @@ +
    +

    Small Size

    + +
    + +
    + +

    Bigger Size

    + +
    + +
    +
    + + diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/razor b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/razor new file mode 100644 index 0000000000..071f172119 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/razor @@ -0,0 +1,5 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").CssClass("e-static-clear").ShowClearButton(true).Render() +
    +
    diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/static-clear.cs b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/static-clear.cs new file mode 100644 index 0000000000..4c33473d93 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/static-clear.cs @@ -0,0 +1,4 @@ +public ActionResult StaticClear() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/tagHelper new file mode 100644 index 0000000000..37c357d471 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/static-clear/tagHelper @@ -0,0 +1,5 @@ +
    +
    + +
    +
    \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/razor b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/razor new file mode 100644 index 0000000000..1650775348 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/razor @@ -0,0 +1,21 @@ +
    +
    + @Html.EJS().TextArea("default").Placeholder("Enter your comments").FloatLabelType(FloatLabelType.Auto).Render() +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/tagHelper b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/tagHelper new file mode 100644 index 0000000000..82d00b8756 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/tagHelper @@ -0,0 +1,21 @@ +
    +
    + +
    +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/textarea-color.cs b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/textarea-color.cs new file mode 100644 index 0000000000..32599987f8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/textarea/style-appearance/textarea-color/textarea-color.cs @@ -0,0 +1,4 @@ +public ActionResult TextAreaColor() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/textarea/events.md b/ej2-asp-core-mvc/textarea/events.md new file mode 100644 index 0000000000..f90a986434 --- /dev/null +++ b/ej2-asp-core-mvc/textarea/events.md @@ -0,0 +1,180 @@ +--- +layout: post +title: Events in ##Platform_Name## TextArea control | Syncfusion +description: Handling events triggered by user interactions or changes in the ##Platform_Name## TextArea control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Events +publishingplatform: ##Platform_Name## +documentation: ug +domainurl: ##DomainURL## +--- + +# Events in ##Platform_Name## TextArea control + +This section describes the TextArea events that will be triggered when appropriate actions are performed. The following events are available in the TextArea control. + +## Created + +The TextArea control triggers the [Created](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Created) event when the TextArea component is created. This event provides users with an opportunity to perform actions immediately after the TextArea has been created and initialized. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/events/created/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/events/created/created.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/created/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/created/created.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +## Input + +The TextArea control triggers the [Input](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Input) each time when the value of TextArea has changed. This event provides users with an opportunity to perform actions in response to real-time changes in the TextArea's content. +The [InputEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextBox.html#Syncfusion_EJ2_Inputs_TextBox_InputEventArgs/) passed as an event argument provides the details about the input event in the TextArea. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/events/input/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/events/input/input.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/input/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/input/input.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +## Change + +The TextArea control triggers the [Change](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Change) event when the content of TextArea has changed and gets focus-out. This event provides users with an opportunity to execute specific actions in response to changes made by the user. +The [ChangedEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextBox.html#Syncfusion_EJ2_Inputs_TextBox_ChangedEventArgs/) passed as an event argument provides the details about the changes in the TextArea's value. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/events/change/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/events/change/change.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/change/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/change/change.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +## Focus + +The TextArea control triggers the [Focus](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Focus ) when the TextArea gains focus. This event allows developers to execute specific actions when the user interacts with the TextArea by focusing on it. +The [FocusInEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextBox.html#Syncfusion_EJ2_Inputs_TextBox_FocusInEventArgs/) passed as an argument provides details about the focus event in the TextArea. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/events/focus/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/events/focus/focus.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/focus/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/focus/focus.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +## Blur + +The TextArea control triggers the [Blur](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Blur) when the TextArea loses focus. This event allows users to execute specific actions when the user interacts with the TextArea by moving focus away from it. +The [FocusOutEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextBox.html#Syncfusion_EJ2_Inputs_TextBox_FocusOutEventArgs/) passed as an argument provides details about the blur event in the TextArea. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/events/blur/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/events/blur/blur.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/blur/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/blur/blur.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +## Destroyed + +The TextArea control triggers the [Destroyed](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Destroyed) when the TextArea component is destroyed. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/events/destroyed/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/events/destroyed/destroyed.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/destroyed/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/destroyed/destroyed.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} diff --git a/ej2-asp-core-mvc/textarea/floating-label.md b/ej2-asp-core-mvc/textarea/floating-label.md new file mode 100644 index 0000000000..5e60460ace --- /dev/null +++ b/ej2-asp-core-mvc/textarea/floating-label.md @@ -0,0 +1,104 @@ +--- +layout: post +title: Floating Label with ##Platform_Name## Textarea control | Syncfusion +description: Checkout and learn about Floating Label with ##Platform_Name## Textarea control of Syncfusion Essential JS 2 and more details. +platform: ej2-asp-core-mvc +control: Floating Label +publishingplatform: ##Platform_Name## +documentation: ug +domainurl: ##DomainURL## +--- + +# Floating Label in ##Platform_Name## TextArea control + +The floating label functionality in the TextArea control allows the placeholder text to float above the TextArea while the user interacts with it, providing a more intuitive user experience. This feature can be achieved using the [FloatLabelType](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_FloatLabelType) API, which offers various options for defining the floating behavior: + +| Type | Description | +| -- | -- | +| Auto | The label floats above the TextArea when it receives focus or input, returning to its initial position when the TextArea loses focus and contains no value. | +| Always | The label always remains floating above the TextArea, regardless of user interaction. | +| Never | The label never floats; it remains in its default position within the TextArea. | + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/floating-label/label/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/floating-label/label/label.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/floating-label/label/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/floating-label/label/label.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-float-label.png) + +## Placeholder with localization + +Localization library allows to localize the placeholder text of the TextArea to different cultures using the `Locale` property. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/floating-label/localization1/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/floating-label/localization1/localization1.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/floating-label/localization1/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/floating-label/localization1/localization1.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-localization1.png) + +To load translation object in an application use `load` function of `L10n` class. +In the below sample, `German` culture is loaded to the TextArea placeholder text. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/floating-label/localization2/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/floating-label/localization2/localization2.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/floating-label/localization2/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/floating-label/localization2/localization2.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} diff --git a/ej2-asp-core-mvc/textarea/form-support.md b/ej2-asp-core-mvc/textarea/form-support.md new file mode 100644 index 0000000000..6bd8b851ea --- /dev/null +++ b/ej2-asp-core-mvc/textarea/form-support.md @@ -0,0 +1,72 @@ +--- +layout: post +title: Form Support with ##Platform_Name## Textarea control | Syncfusion +description: Checkout and learn about Form support of the ##Platform_Name## Textarea control of Syncfusion Essential JS 2 and more details. +platform: ej2-asp-core-mvc +control: Form Support +publishingplatform: ##Platform_Name## +documentation: ug +domainurl: ##DomainURL## +--- + +# Form Support in ##Platform_Name## TextArea control + +The TextArea control seamlessly integrates with HTML forms, enabling efficient submission of longer text data. By including TextArea inputs within HTML forms, users can conveniently input multiline text content and submit it as part of form submissions. + +This integration enhances the usability of forms, allowing users to provide detailed feedback, enter lengthy descriptions, or input other multiline text data seamlessly. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/form-support/form/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/form-support/form/form.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/form-support/form/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/form-support/form/form.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-form.png) + +## Integration of ##Platform_Name## TextArea control with FormValidator component + +TextArea control seamlessly integrates with the `FormValidator` component, allowing users to incorporate textarea inputs into form validation processes efficiently. + +By integrating TextArea controls with the `FormValidator` component, users can enforce validation rules specific to text inputs, such as required fields, minimum and maximum length constraints, pattern matching, and more. This ensures that user-submitted text data meets specified criteria and maintains data integrity. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/form-support/form-validator/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/form-support/form-validator/form-validator.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/form-support/form-validator/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/form-support/form-validator/form-validator.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} diff --git a/ej2-asp-core-mvc/textarea/images/textarea-asterisk.png b/ej2-asp-core-mvc/textarea/images/textarea-asterisk.png new file mode 100644 index 0000000000000000000000000000000000000000..a15688ac06b0694830a13b72dbeb835f1450009d GIT binary patch literal 2797 zcmcguS6EZo7CtI7_7MwJ5eT9n%{Wp-no3ieAP@*86eTbO0t7;dNd`e3lsYnzBC*hv zkRUZ+XcmG>uR&Tw#T0~qG)V~DgL5D6+nsM7_CDudXSKb~x7YfUF4W ztj(POU`qq|j@tG!xEH|&7~o?Q#>wg&KiZLjw})A~V*p@Z z9?1eW?3oHeI9a0y}&pO9=Pmdvzod*=Q&Q{`IsP%7E zk>2@dmbLOzU1+tRlV7@1pX_=86#s0Sg@^hd)8{?RQsAfHzq$Ao23wz3uL-*BFE5F| zByk|OKapvUx^g=yDf2gTs8e@yUnDVFFxIJExjrO^U7lUZ+P+M#!*tdycP6lnIitKM z(HFpzrDwybBokQZ7635ACVGRC3e|huPU`ih6bU^TaU)&}D zcth&m37XXWGbT~}jLZ=&%!lUqh5n)x-ZWnHZXXzm%eMG6py0+G>EfrCi%F^~Fv`I2 z{y4?B+4xhqB`ID>EL+V6RC`D~Q`3~`jhhzmXbge6jivTEv`3MC>$b9HFvsRg7B^9? zDBs}!Gi|0b*O;&x0~Zac1kF9pb%-&p4)TvZkbFJO?xT z^fK*;+(me8VED>Rx5XuCQcz?sJL%Uh+aTdW#8v>1)v-n2jIaN8@uGr)dc$hO^4g08 z^$v1gZ;8v82uwTc=)y}gTK&nwIO9SuhEv?Px0$XqTV5T<30_%b1V)l=Gvs@{n9KqT_Ndfp>xd62O)qu?5H%yh_(Ai$$IUc7nagS@qs zFS)!PtHavwG*Se&vOdD`daIv{HG1#qG}aE$hHDoG6$_{y^a5jaeMTre43lHJp4%e& zD-bCb9_za;Md_{DsjX(iun^z+Md4ywXp@Rv)(K_t^6W&_7nwbU%WPtq5oECh^AIEO zfaw}9_u4eU?<3imso-ZdTXCkSktILY%FG3pHx3`SI#AkB_f zGxGe^2>|GJI+m*{x=b1HlcX#*(!GI$X3_)fslH{)SxK>bhP(G}ATVVDgk*7hxf8kwK{0Ja@sD z@+o|@5zVlO&o<*6zM3LV5p&sn#1%}rX?o*yq8cuWMf1a{;djmv4zcKp;hqbHhAe*0 zLWoW(80S{WSS>T9m5IG(!ry+r0pS?!?_Sw;<4IF_gCu8=-hrf}*48+m=z z9R5^HAsw~5pQ+6iqWWbPmlRH?#NE?$&%p}Dy^@`OfmyMLFoc*IQC1fy%0`my?|EU} z%X&Tqil#7Mb}`V<9V0PgUpn((t7n1-OUXD#ue-zJ@Uq~2G{)LZ@|0ZuD`<}JJ@P@} z!O-tmN9o6%DpqL);;Rg>2oqPD_6wSpADqGrwv#iyeg9g`@?!USKc6Jcz_^C2{`c?2 zJ{kbv(|%Cj0Zn^pn`IF0m$OosJ?TxaY-^6Fb?D|#Ewa`f6Pp`-vF}z8wu*;WPbipT zOEr1NMK3cWD8!yLX1cVpX3-|A**lU_@lzjOBph4NH&;syJER<2+nIMQG$)KHH|dS( z!6r6l{XEtlCc;kKkSTi0$%D;AA?6K^(#Cv* z{-{$tkWdOqXATbqsJu;?I((PLVUeZ2eOpRK2h))Wv5sC` zzOt(yD;vtTJbz|}Wd`gWJ+|XPX$(KCG%Zgr1m0trpJj+!-?FC& zyjwFtf^po8HaUItd;ezxZL*msRVxK1F_ATntH`Mq&%O%oUEuYJ@J;S)OB;#+Rw;Ph zs;GE;iSpdPitvza3=#}xTI%=d#}SOH5QEpkH+>h9Q?Xc@O&du|ak0k{oSSn`2HY!L zDS3q8xRI-z&gq83KHvmx=I)R4P_m4T7L1QgZE^*VlWg)RS_1NQy!@Jbm;8{M;>Nrh zQeH?kD;>l8c_E=3&kvxTEbgBfv;WR8{}CnmwyF*3KpFN2SumI!R={ffU=PL4QZX`` zZs~(%2n33LXM;pEtM|#qaN4skqv&`4#^EJf(2^VDI*<_%um7&(8+PvxL|NM`c&fBP zPrCKC{4}mMuLL#(fLZtg6uYrBeteJ~Pz&|14RIZ`582)z(~*^dMG>Elg7oG?n{bxdLg!G!3c~5x-wgb%xZg98QA3+R%^=D!Ks7fjf{YN jt#f6%{{|DXEnF}ihCy2N=gJbmxWEMqdvn@3pX>htcLexp literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-color.png b/ej2-asp-core-mvc/textarea/images/textarea-color.png new file mode 100644 index 0000000000000000000000000000000000000000..d87b63fe01e48fa8846a27c79d4af28361843312 GIT binary patch literal 5985 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 T#`7GM3^33&(kZ+1=d*tS>#|Da literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-filledOutlined.png b/ej2-asp-core-mvc/textarea/images/textarea-filledOutlined.png new file mode 100644 index 0000000000000000000000000000000000000000..4525e1f6bd96e5cfdabc3cd4bf6bedef1f8c5f61 GIT binary patch literal 9074 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-float-label.png b/ej2-asp-core-mvc/textarea/images/textarea-float-label.png new file mode 100644 index 0000000000000000000000000000000000000000..a214b1bafd0a63506068e7b58fbba3646a7fd3f7 GIT binary patch literal 4333 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-form.png b/ej2-asp-core-mvc/textarea/images/textarea-form.png new file mode 100644 index 0000000000000000000000000000000000000000..93da994b982c3ad7d0d68b93b0b68f19580670d0 GIT binary patch literal 5880 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-localization1.png b/ej2-asp-core-mvc/textarea/images/textarea-localization1.png new file mode 100644 index 0000000000000000000000000000000000000000..6a004361b03bb28a5ee4ff957eef8911b8825115 GIT binary patch literal 3123 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-maxLength.png b/ej2-asp-core-mvc/textarea/images/textarea-maxLength.png new file mode 100644 index 0000000000000000000000000000000000000000..b72e90fbcf0eb4ab5ae0f53d2dd8cc7a2015ae5f GIT binary patch literal 2429 zcmc(hdpOkV7RO&?CpCLYlT*UjJcV=-do(o095_gQQG@qXS^ zHy1~kx|TWs0CvpD0SACG9`fVVzJqMr1IJ6yrWB5Iv#+LMr2N3nCZ1Aw2kafPf3 z=?!O{PKE=Z!B|^LgJ+OTC`hKddol1K)U(b34D!!p1{sP0z|!}pQO~-CQbQQw`c^(H zeWt#Z>0bRP$g=nTOQ9@Lf2a?d9r{nkzw_5LkzKJ)2Gy-rdd$Jjok^1PyQbV6)mc9` z#4)lzaE#2gJAK}V4uAc_7Ly!}K$nwhMr}B}DRc8PdlX9z$CGq%s2eP4ZeAA5%jzDN zTb{Izy+Jr2ax#(^FKbQp>DejozMg30yo{Y~sLIQGrFe-k7gY6jtS61J3!{dj3MuEw zO${Bh?DZiCWe}f9g&kpw32pwA2 zv4R^GpR@S^w}ZU=t#6E#t8&Zv3%cg1z&5nx=9SM!TXm*O4GEk#qQSYsRgdrI;IhZa z$BN#ivPb~x$8+FKX+s5avr0DG8Y_F9)f3Qq-|%|I6beT@m52bHCdQPKhAS0>j2cVy zpLSk50)tB`dcbYjAB>3HoW%Y1vfv=b(vMDem=B``QnU~I(L->A_DjOKPVVsgiJZQr zl`nZFVhix)Xxv3^Td1(R1@2cr9mE}7j77}HIk8s#;h=xRvcU;@9EL>vioup&gBv=g zy%-^U4-}#B@RsyECE6UHtN&cb7`p+SqN;Z)0W(^^ zsTfBQ`y$1aXUckdyppSZw=f0yTyLLd%3f3wVL@^wwJxPMm08jshZ(H(ZSfPt$;@`iQi=E7 zX?~(WJLBVZeTDmdZhqAMc4th(D|n!~T5(v|=aCkz3dSpmlhWvwR3a?G7b%n?386J* zK~Gxy?yF==$#tvl+Wn+Pzg*pc9Ua2s>GG)Q3EzgfK!2t{BNS6*{$jr<>%g@;9h0@A ziO+tLH=H}O=QKw_;y2jrkfqI5ReRYKP(nhRu}6$z6nXk31x;~$8){5#o zovkw6nvB2aYvC4QF<2wqHlE(qm0P(8;z@nC37lK$k4Ui?O_Mu|D|<4LM#@hF$NO24 z-*CQ{uDo0A{za?I+HttWTD-i+*E=^Iy*v*^o}$rRoyqSb7#uEVy2wv6VVBEuUu*Qu z)!+ux!y3Z4A#}UJk%>JoqM|3=9^!29`@Fhq(?2ZHq&aWlI;QdD^oE-^Vg?LQzE5Zj7*Z~T@)I?6Ht=GLJ*b&^OuY*n?L znSXtoZtnwkn~uUXezrl_ihO|;@>b<=U%{hpsi#osiB+Eid5XhW*iFo+D|HDJPoXSV zQ(WKoC%lDKPu4G)HTMNATOz}$`S)-1Eyz|_2Xzdj&8%{XW`x#F!`Ci#f1ZET-{%tJba!uAT}66sP&O%NPRlqT#<3Tg~i zC}vk*G)*R*lfOX5;hG*=mMAarb5H(&=J5~@aFT5xl9Mo`sEV4yNLJ zpckK!{=1jG%LDElGe}s#rA8Zr=wts6Dy*T%;;K|CJvaFmh&~UE^hTVqDZXargvs;s0#kAByRoh*jK`BETTtx_)Hg% pLuG$(84JPwDTV&Wm=@|Q;Kf%@=(1*LS!*AmV@F&ZD(z1t{svQsHhKU6 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-rowscols.png b/ej2-asp-core-mvc/textarea/images/textarea-rowscols.png new file mode 100644 index 0000000000000000000000000000000000000000..daee1b50304cedd9c3909fa1223dad9968183ae5 GIT binary patch literal 5072 zcmd6rX;f3$mdB%%RVu|?0wRzCR0@G0VhA%@pg1tdEJKI{nTLoZgb+h4pCw>Gic)3_ zf(j}IM1(K~Ev6?S1jI0!phU(HVhkieAnEX4*INCddv(9{K6HIJ_ul`x``o+sK4+c% zJ3I4&yNkkJt-SyMK;i5eXDkN(dxrp>mh`!<$jtspViVT(Y0RUM2u(;?e z7ZA}2$RvH6Agq3hzRgh+eT?jiGx>))4uSl)+QRZri+|d0YbZ|J=(C*cuWM(WPx_>U zaGB7oVAT3+K1>RksmPQ6g9<-XzNf+M8&&BL{x^VbAR!Z{5uA3RG2%36DOzCokkRLn5-auX2ryY%z-~8(2zn zxLj`$8988`G;nN6GGN_m8y0nO2jEVNwAxV);8HZd^MvZquImRYNany07s!%)H=Ney800Caae^p@qE0Vs)J_vj*z5V8GV{8#Q z@O&9UwVEq6%NO%n$=`op8t6B5?fiN_zt?}*slHUr-Ku=UfI%u=uMNiduK!UK={MXM zhpDuaj2TWo!V#GvSaI95q!_G}XI#5^a=Z-_wrUdu3o?9YihWfpMMx!A>9xzC0z5hz z!)?Il&yf>Im5@nO2{ItAs>cHnjG9NK3%UEJkN?~@!cH$x5$I}Pt16~k8LFt6OnS8i z9^z%ru7Wwr6EHc~_s&yF)_wXd-rb^nQxYPZE{vbNRntEEtQ?ByfO_nY-r}VN(WJkK z@%Af2E&*x4ybQ;I7mmMffKr@10V$QUS^C84V1a3A5ULj{%DjFv1Eb2^q^IKmxy z?*H6{(@2PaM`NFR?2KOyyY1OA4&G*{=Uf7#&>f!(JX~Yj| zf~KXHh&(bYmGi>U(mrgh<2-0R23K1zpddq5*YoggUN}YbmTYdzv49Pu{y^e#8daey!6Z!EPl&Yu2m~fAQdSY+@mL zih@h;Zf3IVv3;y|Y<1^vq-o{IoA58pH>u~042ej15#~eUYWo0O2M#Sha}(OC7_xuz z8*A3eDd z6XTsKfllfOA-~dbJc3pXj+rkGM`LwdVws1BQ-q_=-Dw-$T(pn$@3+@`Hrcy(9Bs%< zxUrjIBqwKZ`W>w|7j$~@uwqzG)G@^>%k=ybl~9WbEkev^i1zT?V-qiX>l1qWhQ?s` zyBaed8ky6ZnvQ^kw+YniPtPOOj;E_m(jjSD{98KdaJI5Q-fZ)+mieiS1BtsEhxI;d zM)xEIDiL~`Cp4K2w^8vmJvy}s)P$@^=AB<3)^(g#)5}Tv``>t*Wa3WOQx&#vZQ4U! zPN;)Ig12N#Tdymlf7b0lHC;_b<5O32Z$ZdL(7unm6WJ96O7O2%X$K#J6Ann$Qcx=1 zNr|4N=xh}M8=tZ?$ewlyw~XKPMq%|^OvUsPh_9%(Mdrh0Uak9-T3xnuW16tq?g6?< z!2bsDF8If++vN)4NQg21=IoWwtjp7pN7>473m$Omi+E;bcurTH%Fn1y&@j1pA=@XY z_J#tjoT>@7oco?_Fi_Rg+!b+fe-5D<;Us9PBBs6!#&0PwcDbkx#gFqkI%)%#FOG6A z7WZ#4xLA1SEki|`ZKIQ2#7jk}T>D$I-uWb&SyYs?Tk-XZrOuR+_?O%SAi?P#U+{wK z=p}aop~`en?{L;1=xq!+vFij+CVxo3#~$=7m5bkkz6PvV4so3lC6)t>uI@88N7sh{W6BYI8xh7FEQbYYV+(;1M!g`u{^5zwdYIT%5!qM9a*Xp;b;_i7k4>8!!)! z>@V@pH-&l5_7{136ggD-AbAwdz*Wh*#=TPnvzjWvU~Hp11^tE6#moekmn#{=AdELVW8CxGg2cbV; z`~%1mQM!ZfwJ5js57AYO9L=$2Bx~-WFu|T70 zKhkol)w;~VXLNZD5J<$rdRTw?l+M_q7KC`_o2;K(Ut{M`i_?K7lOg!_VpbGIclryQ zlSH=>FI`;)kLDFwMEZ$J!b_6|G^kr5X3)3ax|>!bD37nruCc2Z$^!=W7?xhx4w#4i zlOkzfo`0TMDJB9OPtA|)W9Q&rx=qZDa~sHX5(InP_uy`RY2lAb&JO9EnNejKrkYGpBipJ;^bfD?PsHA?TXlZ3-TJKi!JspliRranZQgYmJCWOC%TUufRUvcDW^QgVdF`$I-L;BZ&ndp#0}F=_g8P#ndcPxb2j1o`5z1+cAiY$ zY*8dpw`IN3*GcTS_JDZxf?Y=u%t9*c?G6is#ga#LMPaG+6dI>RAcWmXi8JI<_mn{5 zpO1t;=cvO7y{{6;5$$mMKr%G$u5hM%bGn&teVm#-I@FR=jOnq{3S+`#1QN}q%bUw0 zkvZGYU{=41IhxlkH5|_Eq&8?i-rQ^qQff_IhbVpU&-T+YS0&_zSiG|iW3|Pss6BjP zkco*K|B3_`$DB4d&!K|Eei#mk{7fY%tmg~9Aowd|BP4PTx6rmIFqWn~-q41>f5nE` z-kQVvfq8{^dQ!jH_ZJD(ry#nRC> zA*jQyMKOyplsa5cLv2re$Keh8I(!OVK|u>G&iHRJCubJ3w6}zlCh#CBiRvvr0CRm+o@FL_8atfvZ19Z?=r(@6MGpV8v-f= z6|Jw5%(Y1gk5l`cGK_#tDRZ<#@0@UX(i{8n-Y*+|=(?qhxwD34!5-EhQbtV`mB?CF ztM!az0vA#&oast}!+;B@tVq1u3RZu1pY(O=Wm>1&gwhGTD)SrjXPHC3;xii?Kp1vx zy-gW0Mk?nW{`rT8HM^ao6aw1DdrKsjOTe)sPs(HSnOu}M302~{O)C4u3mW7p&n*Mv z*#m+cgKu8HKislM->2&P@3S<|LVzwUnomotvi3iGYgIa-9hh+XCM_z~ffpCvSUv_YZ@~Kf#fPdLvDlG=i(fv)}m#oqkTKuso$*aOF>N6 z4|)k*dSmYCzlA;8Pmi`Y(VB}1LyjI9X=v6$x3!qIniEmB>UVl1T5dP(2K1CDf~nNK zNB3neALOju(%BKvl#;m0HYcSk8ywqS$POOP!8g_BbYZCr2;b`lUD*WC#?^h(Yq|GE zn&Q{kY{n^9TKB0$7Wj03j`UNVQw{-`H~xz6!Qf`jH!e9MSUyZ3N9M!b_6{4IN0+69 zLogc=IW#MSBqw*eLjO7I&I9!gl+a#5N$0QTzh{=c$#Tk|wc%Gfc?H8BW!Q@*y#_Tc z&=;3Zg1zF~_gWrL2Zg;KE49eVu`1J=Q!UB8YzL~LDA3r%)Wx?~w^kuO8rp8oC(HmBSs{59#2J2jyEDwt$tF3u|dQSxE6k z?TW0j^mu8m79jQRys&QVkZPhskASZ$j zf=;UjUzh0pYg_+c{N(*_BgtQ)e(=9}VYTR26C8kZMOVnb_B_;BrVIt#DL&kEz5rwz zJ6c0Z@QB=gF{JfD-mL9Ki#;XvFBC922#dSuEhy&W_}#nb;(QH zsL7o6tB-8ZK~2-90gmp$7QnR_+E0z(n){V*Xjz?N8#1;j0;hD{^*^y`n4e~^L(|mq zn_9-UqIsa48kj%pLvuZG=ZV_?f=%1BA*&;pCAt4ai#7jaus!>va)TEZh=-cFHrute Ov!~phYkt0T<39kbkS*K* literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-sizing.png b/ej2-asp-core-mvc/textarea/images/textarea-sizing.png new file mode 100644 index 0000000000000000000000000000000000000000..345373e897197a52f4c1d48c43adb554c4807431 GIT binary patch literal 10682 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 Kk5Q`6U;j6j(|9fb literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/images/textarea-static-clear.png b/ej2-asp-core-mvc/textarea/images/textarea-static-clear.png new file mode 100644 index 0000000000000000000000000000000000000000..7dea3c735cdeab72172c1f16f041dd8e5ed7e1c6 GIT binary patch literal 4278 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/textarea/max-length.md b/ej2-asp-core-mvc/textarea/max-length.md new file mode 100644 index 0000000000..e2ba754821 --- /dev/null +++ b/ej2-asp-core-mvc/textarea/max-length.md @@ -0,0 +1,46 @@ +--- +layout: post +title: Maximum Length with ##Platform_Name## Textarea control | Syncfusion +description: Limiting the maximum number of characters in the ##Platform_Name## Textarea control of Syncfusion Essential JS 2 and more details. +platform: ej2-asp-core-mvc +control: Maximum Length +publishingplatform: ##Platform_Name## +documentation: ug +domainurl: ##DomainURL## +--- + +# Maximum Length in ##Platform_Name## TextArea control + +You can enforce a maximum length limit for the text input in the TextArea using the [MaxLength](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_MaxLength) property. This property allows to define the maximum number of characters that users can input into the TextArea. + + +* By setting the `MaxLength` property, you can control the length of text input, preventing users from exceeding a specified character limit. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/maxLength/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/maxLength/maxLength.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/maxLength/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/maxLength/maxLength.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-maxLength.png) + +When the user reaches the specified limit, the TextArea prevents further input, ensuring compliance with the defined character limit. This feature helps maintain data integrity and provides users with clear feedback on the allowed input length. diff --git a/ej2-asp-core-mvc/textarea/methods.md b/ej2-asp-core-mvc/textarea/methods.md new file mode 100644 index 0000000000..fba203efe8 --- /dev/null +++ b/ej2-asp-core-mvc/textarea/methods.md @@ -0,0 +1,108 @@ +--- +layout: post +title: Methods in ##Platform_Name## TextArea control | Syncfusion +description: Handling methods in the ##Platform_Name## TextArea control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Methods +publishingplatform: ##Platform_Name## +documentation: ug +domainurl: ##DomainURL## +--- + +# Methods in ##Platform_Name## TextArea control + +This section outlines the methods available for interacting with the TextArea control. + +## focusIn + +The [focusIn](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_focusIn) method in the TextArea, is used to set focus to the textarea element, enabling user interaction. + +By calling the `focusIn` method, you can programmatically set focus to the TextArea control, allowing users to interact with it via keyboard input or other means. + +{% if page.publishingplatform == "typescript" %} + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/textarea/methods-cs1/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/textarea/methods-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/textarea/methods-cs1" %} + +{% elsif page.publishingplatform == "javascript" %} + +{% tabs %} +{% highlight js tabtitle="index.js" %} +{% include code-snippet/textarea/methods-cs1/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/textarea/methods-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/textarea/methods-cs1" %} +{% endif %} + +## focusOut + +The [focusOut](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_focusOut) method in the TextArea control is used to remove focus from the textarea element, ending user interaction. +This method is beneficial for scenarios where user need to programmatically remove focus from the TextArea control, such as after completing a specific task or when navigating to another element in the application. + +{% if page.publishingplatform == "typescript" %} + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/textarea/methods-cs2/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/textarea/methods-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/textarea/methods-cs2" %} + +{% elsif page.publishingplatform == "javascript" %} + +{% tabs %} +{% highlight js tabtitle="index.js" %} +{% include code-snippet/textarea/methods-cs2/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/textarea/methods-cs2/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/textarea/methods-cs2" %} +{% endif %} + +## getPersistData + +The [getPersistData](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_getPersistData) method in the TextArea control retrieves the properties that need to be maintained in the persisted state. +This method returns an object containing the properties to be persisted, which can include various configuration options and state information of the TextArea control. + +{% if page.publishingplatform == "typescript" %} + +{% tabs %} +{% highlight ts tabtitle="index.ts" %} +{% include code-snippet/textarea/methods-cs3/index.ts %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/textarea/methods-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "javascript" %} + +{% tabs %} +{% highlight js tabtitle="index.js" %} +{% include code-snippet/textarea/methods-cs3/index.js %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/textarea/methods-cs3/index.html %} +{% endhighlight %} +{% endtabs %} + +{% endif %} diff --git a/ej2-asp-core-mvc/textarea/resize.md b/ej2-asp-core-mvc/textarea/resize.md new file mode 100644 index 0000000000..d36780b09b --- /dev/null +++ b/ej2-asp-core-mvc/textarea/resize.md @@ -0,0 +1,71 @@ +--- +layout: post +title: Resize with ##Platform_Name## Textarea control | Syncfusion +description: Checkout and learn about Resize with ##Platform_Name## Textarea control of Syncfusion Essential JS 2 and more details. +platform: ej2-asp-core-mvc +control: Resize +publishingplatform: ##Platform_Name## +documentation: ug +domainurl: ##DomainURL## +--- + +# Resize in ##Platform_Name## TextArea control + +The TextArea allows users to input and edit large amounts of text. Resizing this control effectively can enhance the user experience and accommodate varying content needs. This resizing behavior can be enabled and configured using the [ResizeMode](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_ResizeMode) API, which offers several options for resizing the TextArea: + +| Type | Description | +| -- | -- | +| Vertical | Allows users to adjust the height of the TextArea vertically. It is suitable when users want to resize the TextArea only along the vertical axis, accommodating varying amounts of text input. | +| Horizontal | Users can adjust the width of the TextArea horizontally. This option is helpful for accommodating longer lines of text without altering the height of the control. | +| Both | Allows users to adjust both the height and width of the TextArea, offering maximum flexibility in resizing. It is ideal for situations where users need precise control over the dimensions of the TextArea. | +| None | Disables the resizing in the TextArea. This option is ideal for situations where maintaining a consistent layout is critical, and resizing by users is unnecessary. | + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/resize/resize/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/resize/resize/resize.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/resize/resize/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/resize/resize/resize.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +## Width of ##Platform_Name## TextArea control + +You can easily customize the width of the TextArea using the [Width](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Width) property. This property allows precise adjustment of the TextArea's width according to the specific layout requirements of the application. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/resize/width/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/resize/width/width.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/resize/width/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/resize/width/width.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} diff --git a/ej2-asp-core-mvc/textarea/rows-columns.md b/ej2-asp-core-mvc/textarea/rows-columns.md new file mode 100644 index 0000000000..ad872fb4cf --- /dev/null +++ b/ej2-asp-core-mvc/textarea/rows-columns.md @@ -0,0 +1,45 @@ +--- +layout: post +title: Rows and Columns count in ##Platform_Name## Textarea control | Syncfusion +description: Adjusting the size of the ##Platform_Name## Textarea control of Syncfusion Essential JS 2 and more details. +platform: ej2-asp-core-mvc +control: Rows and Columns Count +publishingplatform: ##Platform_Name## +documentation: ug +domainurl: ##DomainURL## +--- + +# Rows and Columns in ##Platform_Name## TextArea control + +Two essential attributes, `rows` and `columns`, play a pivotal role in customizing the TextArea's appearance and layout. +The `rows`attribute determines the initial visible number of lines within the TextArea, controlling its vertical size. Conversely, the `columns` attribute specifies the visible width of the TextArea in characters per line, determining its initial width. + + +* You can customize the TextArea control by setting the number of rows using the [RowsCount](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_RowsCount) property and the number of columns using the [ColumnsCount](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_ColumnsCount) property. These properties allow precise control over the dimensions of the TextArea, ensuring it fits seamlessly within the layout of the application. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/rows-cols/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/rows-cols/rows-cols.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/rows-cols/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/rows-cols/rows-cols.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-rowscols.png) diff --git a/ej2-asp-core-mvc/textarea/style-appearance.md b/ej2-asp-core-mvc/textarea/style-appearance.md new file mode 100644 index 0000000000..c994f2e288 --- /dev/null +++ b/ej2-asp-core-mvc/textarea/style-appearance.md @@ -0,0 +1,314 @@ +--- +layout: post +title: Style and appearance in ##Platform_Name## TextArea control | Syncfusion +description: Learn here all about Style and appearance in Syncfusion ##Platform_Name## TextArea control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Style and Appearance +publishingplatform: ##Platform_Name## +documentation: ug +domainurl: ##DomainURL## +--- + +# Sizing in ##Platform_Name## TextArea control + +you can adjust the size of the TextArea by applying specific classes: + +| Property | Description | +| -- | -- | +| Small | Add the `e-small` class to the input element or its container to render a smaller-sized TextArea. | +| Bigger | Add the `e-bigger` class to the input element or its container to render a larger-sized TextArea. | + +By applying these classes, users can easily customize the appearance of the TextArea to better fit their application's design requirements. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/sizing/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/sizing/sizing.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/sizing/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/sizing/sizing.cs %} +{% endhighlight %} +{% endtabs %} + +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-sizing.png) + +## Filled and Outline mode + +The Filled and Outline modes can be enabled in the TextArea component by adding the `e-outline` or `e-filled` class to the [CssClass](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_CssClass) API. +By adding these classes, users can choose between a filled or outline appearance for the TextArea component, aligning with the design aesthetics of their application. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/filled-outlined/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/filled-outlined/filled-outlined.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/filled-outlined/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/filled-outlined/filled-outlined.cs %} +{% endhighlight %} +{% endtabs %} + +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-filledOutlined.png) + +>Note: Filled and Outline theme customization are available only with Material themes. + +## Custom styling with cssClass API in TextArea + +The `CssClass` Api provides a powerful way to apply custom styling to the TextArea component, allowing users to customize its appearance and layout according to their design requirements. + +By utilizing the `CssClass` API, users can apply custom CSS classes to the TextArea component's container, enabling control over its styling properties such as color, padding, margins, borders, and more. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/cssClass/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/cssClass/cssClass.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/cssClass/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/cssClass/cssClass.cs %} +{% endhighlight %} +{% endtabs %} + +{% endif %} + +## Setting the disabled state in TextArea + +To disable the TextArea, you can utilize the [Enabled](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Enabled) property. When set to `false`, the TextArea becomes disabled, preventing user interaction. + +{% if page.publishingplatform == "aspnet-core" %} +```html + +``` + +{% elsif page.publishingplatform == "aspnet-mvc" %} +```html +@Html.EJS().TextArea("default").Enabled(false).Render() +``` +{% endif %} + +## Set the readonly TextArea + +To make the TextArea read-only , you can use the [Readonly](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Readonly) property. When set to `true`, it prevents users from editing the content of the TextArea. + +{% if page.publishingplatform == "aspnet-core" %} +```html + +``` + +{% elsif page.publishingplatform == "aspnet-mvc" %} +```html +@Html.EJS().TextArea("default").Readonly(true).Value("Readonly").Render() +``` +{% endif %} + +## Set the rounded corner in TextArea + +Render the TextArea with `rounded corner` by adding the `e-corner` class to the input parent element. + +>This rounded corner is visible only in box model input component + +```html + +
    + +
    + +``` + +## Static Clear Button in TextArea + +To display a static clear button in the TextArea component, you can add the `e-static-clear` class to the `CssClass` property. This class ensures that the clear button remains visible at all times, providing users with the ability to easily clear the TextArea content without needing to focus on the control. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/static-clear/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/static-clear/static-clear.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/static-clear/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/static-clear/static-clear.cs %} +{% endhighlight %} +{% endtabs %} + +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-static-clear.png) + +## Customize the TextArea background color and text color + +You can customize the TextArea styles such as background-color, text-color and border-color by overriding its default styles to achieve the desired appearance for the TextArea. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/textarea-color/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/textarea-color/textarea-color.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/textarea-color/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/textarea-color/textarea-color.cs %} +{% endhighlight %} +{% endtabs %} + +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-color.png) + +## Change the floating label color of the TextArea + +You can change the floating label color of the TextArea for both `success` and `warning` validation states by applying the following CSS styles. + +```css + + /* For Success state */ + .e-float-input.e-success label.e-float-text, + .e-float-input.e-success input:focus ~ label.e-float-text, + .e-float-input.e-success input:valid ~ label.e-float-text { + color: #22b24b; + } + + /* For Warning state */ + .e-float-input.e-warning label.e-float-text, + .e-float-input.e-warning input:focus ~ label.e-float-text, + .e-float-input.e-warning input:valid ~ label.e-float-text { + color: #ffca1c; + } + +``` + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/floatLabel-color/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/floatLabel-color/floatLabel-color.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/floatLabel-color/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/floatLabel-color/floatLabel-color.cs %} +{% endhighlight %} +{% endtabs %} + +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-floatLabel-color.png) + +## Adding mandatory asterisk to placeholder + +To add a mandatory asterisk (*) to the placeholder in the TextArea component, you can utilize CSS to append the asterisk after the placeholder text. + +```css + +/* To add asterick to float label in textarea */ +.e-float-input.e-control-wrapper .e-float-text::after { + content: '*'; /* Add asterisk after the placeholder */ + color: red; /* Customize asterisk color */ +} + +``` + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/asterisk/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/asterisk/asterisk.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/style-appearance/asterisk/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/style-appearance/asterisk/asterisk.cs %} +{% endhighlight %} +{% endtabs %} + +{% endif %} + +Output be like the below. + +![textarea](./images/textarea-asterisk.png) diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 8b8db8492d..1c987ef44f 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2143,6 +2143,7 @@
  • Ribbon Layouts
  • File menu
  • Backstage Menu
  • +
  • Contextual Tabs
  • Help Pane Template
  • Tooltip
  • Resizing
  • @@ -2624,6 +2625,14 @@
  • TextArea
    • Getting Started
    • +
    • Floating Label
    • +
    • Rows and Columns Count
    • +
    • Resize
    • +
    • Maximum Length
    • +
    • Form Support
    • +
    • Style and Appearance
    • +
    • Events
    • +
    • Methods
    • API Reference
    • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 8449f7ceb0..63b1cd9b40 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -2103,6 +2103,7 @@
    • Ribbon Layouts
    • File menu
    • Backstage Menu
    • +
    • Contextual Tabs
    • Help Pane Template
    • Tooltip
    • Resizing
    • @@ -2587,6 +2588,14 @@
    • TextArea
      • Getting Started
      • +
      • Floating Label
      • +
      • Rows and Columns Count
      • +
      • Resize
      • +
      • Maximum Length
      • +
      • Form Support
      • +
      • Style and Appearance
      • +
      • Events
      • +
      • Methods
      • API Reference
      • From 8c18bad9e4c44ed3d65ec83951984fa06436af88 Mon Sep 17 00:00:00 2001 From: Indrajith <93306904+IndrajithSrinivasan@users.noreply.github.com> Date: Tue, 19 Mar 2024 15:29:09 +0530 Subject: [PATCH 007/134] Merge pull request #2765 from syncfusion-content/EJ2-875461-contextual docs(875461): Contextual tab UG documentation added. --- .../add-contextual-tab/contextualtab.cs | 4 + .../contextual-tabs/add-contextual-tab/razor | 153 ++++++++++++++++++ .../add-contextual-tab/tagHelper | 83 ++++++++++ .../contextual-tabs/method/contextualtab.cs | 4 + .../ribbon/contextual-tabs/method/razor | 111 +++++++++++++ .../ribbon/contextual-tabs/method/tagHelper | 78 +++++++++ .../selected-tab/contextualtab.cs | 4 + .../ribbon/contextual-tabs/selected-tab/razor | 90 +++++++++++ .../contextual-tabs/selected-tab/tagHelper | 55 +++++++ .../ribbon/EJ2_ASP.MVC/contextual-tabs.md | 59 +++++++ .../ribbon/EJ2_ASP.NETCORE/contextual-tabs.md | 59 +++++++ .../images/ribbon-contextualtab-method.png | Bin 0 -> 12035 bytes .../images/ribbon-contextualtab-selected.png | Bin 0 -> 6856 bytes .../ribbon/images/ribbon-contextualtab.png | Bin 0 -> 13758 bytes ej2-asp-core-toc.html | 1 + ej2-asp-mvc-toc.html | 1 + 16 files changed, 702 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/contextualtab.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/contextualtab.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/contextualtab.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/tagHelper create mode 100644 ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/contextual-tabs.md create mode 100644 ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab-method.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab-selected.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab.png diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/contextualtab.cs b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/contextualtab.cs new file mode 100644 index 0000000000..c6a37a012e --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/contextualtab.cs @@ -0,0 +1,4 @@ +public ActionResult ContextualTab() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/razor b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/razor new file mode 100644 index 0000000000..6c30aa1293 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/razor @@ -0,0 +1,153 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List contextTabs = new List() + { + new RibbonContextualTab + { + Visible = true, + Tabs = new List() + { + new RibbonTab() + { + Id="ShapeFormat", Header = "Shape Format" , + Groups = new List() + { + new RibbonGroup() + { + Header="Text decoration", + ShowLauncherIcon=true, + Collections = new List() + { + new RibbonCollection() + { + Items = new List() + { + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Text Header", + IconCss = "e-icons e-text-header" + } + }, + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Text Wrap", + IconCss = "e-icons e-text-wrap" + } + }, + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Text Annotation", + IconCss = "e-icons e-text-annotation" + } + } + } + } + } + }, + new RibbonGroup() + { + Header="Accessibility", + Collections = new List() + { + new RibbonCollection() + { + Items = new List() + { + new RibbonItem() + { + Type = RibbonItemType.Button, + AllowedSizes = RibbonItemSize.Large, + ButtonSettings = new RibbonButtonSettings + { + Content = "Alt Text", + IconCss = "e-icons e-text-alternative" + } + } + } + } + } + }, + new RibbonGroup() + { + Header="Arrange", + ShowLauncherIcon=true, + Collections = new List() + { + new RibbonCollection() + { + Items = new List() + { + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Bring Forward", + IconCss = "e-icons e-bring-forward" + } + }, + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Send Backward", + IconCss = "e-icons e-send-backward" + } + }, + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Selection Pane", + IconCss = "e-icons e-show-hide-panel" + } + } + } + } + } + } + } + } + } + } + }; +} + +@Html.EJS().Ribbon("ribbon").ContextualTabs(contextTabs).Tabs(tab => +{ + tab.Header("Home").Groups(groups => + + { + groups.Header("Clipboard").GroupIconCss("e-icons e-paste").ShowLauncherIcon(true).Id("lipboardGroup").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/tagHelper new file mode 100644 index 0000000000..e20bbcdd9d --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/add-contextual-tab/tagHelper @@ -0,0 +1,83 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/contextualtab.cs b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/contextualtab.cs new file mode 100644 index 0000000000..c6a37a012e --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/contextualtab.cs @@ -0,0 +1,4 @@ +public ActionResult ContextualTab() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/razor b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/razor new file mode 100644 index 0000000000..416c680aac --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/razor @@ -0,0 +1,111 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List contextTabs = new List() +{ + new RibbonContextualTab + { + Tabs = new List() + { + new RibbonTab() + { + Header = "Arrange & View", + Id = "ArrangeView", + Groups = new List() + { + new RibbonGroup() + { + Header="Arrange", + ShowLauncherIcon=true, + Collections = new List() + { + new RibbonCollection() + { + Items = new List() + { + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Bring Forward", + IconCss = "e-icons e-bring-forward" + } + }, + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Send Backward", + IconCss = "e-icons e-send-backward" + } + }, + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Selection Pane", + IconCss = "e-icons e-show-hide-panel" + } + } + } + } + } + } + } + } + } + } + }; +} +
        + + +
        +@Html.EJS().Ribbon("ribbon").ContextualTabs(contextTabs).Created("ribbonCreated").Tabs(tab => +{ + tab.Header("Home").Groups(groups => + + { + groups.Header("Clipboard").GroupIconCss("e-icons e-paste").ShowLauncherIcon(true).Id("lipboardGroup").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/tagHelper new file mode 100644 index 0000000000..6b67452273 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/method/tagHelper @@ -0,0 +1,78 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/contextualtab.cs b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/contextualtab.cs new file mode 100644 index 0000000000..c6a37a012e --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/contextualtab.cs @@ -0,0 +1,4 @@ +public ActionResult ContextualTab() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/razor b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/razor new file mode 100644 index 0000000000..279c92caad --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/razor @@ -0,0 +1,90 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List contextTabs = new List() + { + new RibbonContextualTab + { + Visible = true, + IsSelected = true, + Tabs = new List() + { + new RibbonTab() + { + Header = "Styles" , + Groups = new List() + { + new RibbonGroup() + { + Header="Style", + ShowLauncherIcon=true, + Collections = new List() + { + new RibbonCollection() + { + Items = new List() + { + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Style", + IconCss = "e-icons e-style" + } + }, + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Text Box", + IconCss = "e-icons e-font-name" + } + }, + new RibbonItem() + { + Type = RibbonItemType.Button, + ButtonSettings = new RibbonButtonSettings + { + Content = "Paint", + IconCss = "e-icons e-paint-bucket" + } + } + } + } + } + } + } + } + } + } + }; +} + +@Html.EJS().Ribbon("ribbon").ContextualTabs(contextTabs).Tabs(tab => +{ + tab.Header("Home").Groups(groups => + + { + groups.Header("Clipboard").GroupIconCss("e-icons e-paste").ShowLauncherIcon(true).Id("lipboardGroup").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/tagHelper new file mode 100644 index 0000000000..86f3e134f3 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/contextual-tabs/selected-tab/tagHelper @@ -0,0 +1,55 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/contextual-tabs.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/contextual-tabs.md new file mode 100644 index 0000000000..519e5478b5 --- /dev/null +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/contextual-tabs.md @@ -0,0 +1,59 @@ +--- +layout: post +title: Ribbon Contextual Tabs in ##Platform_Name## Ribbon Control | Syncfusion +description: Checkout and learn about Ribbon Contextual Tabs in Syncfusion ##Platform_Name## Ribbon control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Ribbon +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Ribbon contextual tabs + +The Ribbon Contextual tabs are similar to the Ribbon tabs that are displayed on demand based on their needs, such as an image or a table tabs. It supports adding all built-in and custom ribbon items to perform specific actions. + +## Visible tabs + +You can utilize the [Visible](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonContextualTab.html#Syncfusion_EJ2_Ribbon_RibbonContextualTab_Visible) property to control the visibility of each contextual tab. + +## Adding contextual tabs + +You can utilize the [ContextualTabs](https://help.syncfusion.com/cr/aspnetmvc-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_ContextualTabs) property to add contextual tabs in the Ribbon. This property accepts an array of Ribbon tabs, where you can add multiple tabs based on your needs. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/contextual-tabs/add-contextual-tab/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with adding contextual tab](images/ribbon-contextualtab.png) + +## Selected tabs + +By using the [IsSelected](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonContextualTab.html#Syncfusion_EJ2_Ribbon_RibbonContextualTab_IsSelected) property you can control the selected state of each contextual tab and indicates which tab is currently active. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/contextual-tabs/selected-tab/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with contextual tab selected](images/ribbon-contextualtab-selected.png) + +## Methods + +### Show tab + +You can use the `ShowTab` method to make the specific Contextual tab visible in the Ribbon. + +### Hide tab + +You can use the `HideTab` method to hide specific Contextual tab in the Ribbon. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/contextual-tabs/method/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with contextual tab method](images/ribbon-contextualtab-method.png) diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md new file mode 100644 index 0000000000..1ae2fa688c --- /dev/null +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md @@ -0,0 +1,59 @@ +--- +layout: post +title: Ribbon Contextual Tabs in ##Platform_Name## Ribbon Control | Syncfusion +description: Checkout and learn about Ribbon Contextual Tabs in Syncfusion ##Platform_Name## Ribbon control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Ribbon +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Ribbon contextual tabs + +The Ribbon Contextual tabs are similar to the Ribbon tabs that are displayed on demand based on their needs, such as an image or a table tabs. It supports adding all built-in and custom ribbon items to perform specific actions. + +## Visible tabs + +You can utilize the [visible](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonContextualTab.html#Syncfusion_EJ2_Ribbon_RibbonContextualTab_Visible) property to control the visibility of each contextual tab. + +## Adding contextual tabs + +You can utilize the [contextualTabs](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_ContextualTabs) property to add contextual tabs in the Ribbon. This property accepts an array of Ribbon tabs, where you can add multiple tabs based on your needs. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/contextual-tabs/add-contextual-tab/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with adding contextual tab](./images/ribbon-contextualtab.png) + +## Selected tabs + +By using the [isSelected](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonContextualTab.html#Syncfusion_EJ2_Ribbon_RibbonContextualTab_IsSelected) property you can control the selected state of each contextual tab and indicates which tab is currently active. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/contextual-tabs/selected-tab/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with contextual tab selected](./images/ribbon-contextualtab-selected.png) + +## Methods + +### Show tab + +You can use the `showTab` method to make the specific Contextual tab visible in the Ribbon. + +### Hide tab + +You can use the `hideTab` method to hide specific Contextual tab in the Ribbon. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/contextual-tabs/method/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with contextual tab method](./images/ribbon-contextualtab-method.png) diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab-method.png b/ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab-method.png new file mode 100644 index 0000000000000000000000000000000000000000..6058f944e248efbaa4130a00b2546ae39f4b8d91 GIT binary patch literal 12035 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab-selected.png b/ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa488ca5e8c8a27f38317416e544e9fc6a8c630 GIT binary patch literal 6856 zcmcIpXIPWlvW{ZesEASoA&81}=?KyiMXI3}0VxqeQ%XcoI1gIrm5Mt#6f?S+my6yfa^viIFbbF}`B}0Dw(j zPs$*jN!|X8Pe(%Z~(O*0cq(Odc6YtHRnIOM1xbZ=w@4>gkXRlH1e~kc*U|8?Q($Rua=cC@^Gh8(eDYySHdtWFt z;L(u8H6qb=X5vz>b6&=A%i#MI!SqWM!msOkwHGF+a!cpPU=XE)XQghwb8Y&{lyk3# z8w*290N@9(NRNJq+2nm8dw|){6EP4g&a6Cw)~T@G{YRBQ!*`o#2Kx(}SudBxnaMcK^(Em<6l845llaZWb5B z-Ixt+5f7a;DWMdanB}g8%!JNjWmFFSX8o8RpX=1h;7TYOB{)TOXWkH7`QpJ0I)@o~$L$Kc|~7cups;6Uq>L zubPc=HNX9u1us{N?vm3HRf;A7S88#zH94wG{L)aL#+7|p51cT>d@Kcxy&5_+A@GTW zQ8(-2u$@kUJ!;UvR{Tu*75(}sY_Mg_de?$td*pqGW!Gh7r8}wyUEVk_*;tcP5Ji&| z;!B^W+v(1@4*{_yKa+E!KMh(nk~anL@H#Cblyh*&@%s2YwPR8Fz>x|s*%x!CM*F{~ z9DZ&@bWKxxB2+XWY#?#jL$ny6W4S&Fu7@ z^psQRGdgXxVVWi9u5H!2lh2y^dsvpd%&C@kZTc&Kmiq8X#C4F#7s{da7)ha%X~2qY z69m2^#OEHNrfz~waCK)C8JTOvwoOG`5UaRIpY5u>euH*pep0Gbk(Otj^Z>#Gu>ih z=~1Dc;jZ$RzR;Rbo*-g5MX!C4%nz*%_AHpL70!U}(H{3Zk?Jem~K+bv>(Vn5f2O;jo+ za%1gHq^K%dh^fH|w}6K5NkNHajjQt4F!x8TeF-h>+I0uDd9okevXJpajiozOy0+e! zuaQ$`6<8ETf#lp~@LT)|N7&)5-9F=sSbRrn6e2)$N0RA^?&z^CeGSjE9xxF=LT)vo z;;&_7-F?^vs+Pb>30fq)Fh3nLz4$e8yfJ&H`IbYlc|qTU<^dVqtvI9VPpPDgRSe=+ zbU=uaS&94h1jYv?xN`hGiark}DnIC0n}7bTH<;S_=c4|OH{Z`%kLEa|mA0*I`*_gt z-R(lJ%ghbEz0=nUwCqyn?VmM=g+7EEKMSnlA*9We{55=YLMhZ{ZYO_p)i8(5-JK4M zFNc7e@U#tDoh{ z9O8BT$A8P~?(vjx+#~9|6^aGTv3eU>Tj38{Z!OZW5|!n4!_qeT&~E=v=O(@+r~ zPBx}Ab1*4YEJr9BOl;0(OsM}J%`Li0ziI0y0$~pR_-;P-2eb9xVUjHn^DS)K+HYrW zSsR(vgy5DNo2pO^?A>@sKwU}x;#}GEJAMG|UyKGT%^D{%S6_?U*WJm;N<}ljG_DamAuRrR&u!~gmZ(eO8m16vH72l+Mn#udc4 zi6DgOkd;r(`c;D z@>f#3)rj*{DrwEnoa(W}`mfbaAUSV4^)_^4N6;)owqK62LNeF;xBEa>dMFf&MH?o& zfHg65%qh7|;)dMr>*0kia=Wt|pjfe~vuT_-%M&D-Ve4Y3ZnlmE2YH`Q?ObleUYLS; ztQkh^$Y@dP56gX!w@Gpj4D)UCwjQ!Qm;0;Vej#;m&myXizmhVDfT0PSzjS z`l6h7ZgC6RohlU!yKwuMFzQz0(*r3|Rs=S*&=gKo7qvd2NoG?Sv`oWtp&Z;D9lA#x?hI^uwtOR3Q|=AeG=#Aww=$T-?lV`w#8a?ixnGWJ}Rc8*`zW9yd z7;P!VEo&s-n6QvWW~FA{qgAdCAz|?=vID!;&V0o&8tf;!WJVUdgU<7JdbeMaWQxVB zN~=qL;s13gXNy3H?1x5v<)4f7ptAV1zW;+GQ&>q##cJO#-Z|gEDH02ivR$M_-=pd^ zoI@rsG2)MdCu}jYs=J0ww$x<7I$kej3*y7ZSx56v>iqqlxbhEs4)Pc7_cS^*RAi19 zarIH1-D&@>cI5Rkhu@h101!d?rFbWMM)3~w^{pNGipIX%ixK)ydpjn>e+i3s@2lA5 z;dcM?(G>8ESXR@7zMnrPrG&w^~q6b{S=k~eE;J0K?4imnzx z5x=CXd>TTo2C=;U4P|0w4(FV6v+`*DUtE`9#-7%^rsXxkHJ6Vi2};7 zN1~kBnA7JKT~2aVLV(%^tp+h6^R&nXQ%eKR%-Q!Wc+r*&p+^Pc;@TDueBYX6=Qt0O z$||k%{&t2~m3v#EV?z%pofRrmQ};42_BTt`mac7CDX!?Sjc?QU83-8$GR5(MSPWal zax50rY$Q76W@X9fw7!5EG2GfxW?-1Vc%}w+7~AU13fXRW58@}>DX%hJ?`GZa(aK_|1hjioTe2p4l_ zI%y>ltQx{7*Y?Qd4G!Jmpql~$$fT1ed|rR6m3i%76ivG_?0;Co$!9pvJ*0MPcgMH~ zX^4eEynuHrM9)}>=)%qKc7$v6!jWySv){Fu>Z+GlsZ8OLB3LZ3Wf?(wb%IPb5$0zb z!rR@w^lt(!A0}O$QUaA*Riwx+zef$kttCoKor5T?&3ed&+IXhe2~M*s6KXUv8X9wR z@S;kDqJW}r2Af*Iej5Sw=ASIwy@pbQYfON64gX5UU_$+rjDVDpt>CU%!R-yft=NbU z@qakxKm;rucuIMc2x)2ZH<|<9zAL^SZ0@O2Eish|!imtHOFMwB>1E4Z5Rvjk3H^B| zBfXikWqF4wtcioman6C0)$2-d;0d4HtQH$nffa1gyGb9Y6gD@=%7XIgau2zi5u8pG zZTRSR_PECI5ib3sQyv9 zHdxVVsA<>NbK4sG&J-cFONA^b2UB7(0d7O3uHIPjrNfd+b|AAPsk`Ar94YdQM5zDtk! zUv83>Q#BoloKBC#@d^s!x5yPc#^@coL)gVz8rz=U@^WXqtoh54GTy!;`@k;&V$%X# zNw``$)&V2ppN3aATbf!{qdq6L$@H`$9x( z5OS348n>50-?_>biuo3JKH8=pgLy>Vs5~Ew%F8?3I7#BkYNYMg9DE|w4cvqASB&fx zK*X9lRd2(ZL=(kLqOFrFeZ!+NbH(NEzK2ny-TmD5vGXxA#65l>4qmjeiHi z{(C^U<(!D$j%Tpv5Q)#;Eq>2^{3tP7m316KDr7Apz#O|Pwg>n0Q2~5a*G9sKFW`e~ zPoYcy>18wS2$wT=B6*pQvIigjU2*~d?&HrU%4T@Y-|*Q*DUbHN_a|Ob-ZNn)^^tXj z6elWULO2b=A*~-6cPCzldsS2c<%q1zG57P}U*^5@~xdo1z zAU*eW@+<7b+$U^~e1F@T$$CpPCUwVEeR&7=>?D_~@=TPck}WSIUhB*bvT{jyjJ}+C zhOO9|_j8cK>aR29`&?y_Tp!-)v%IDM;@2w~f>-aQ!C`v9?U1<`$moe21Aj>;K5|i zlRZ&aOB9lIbZ4x6i#YT`;e39Ig{Zc~M34*mmf}M$_T$1Y?`6roW~6Czo`&XgUzwzT z&B-l0*0=6Tp7R26cb*yIuqyvVg!CtnZk=9&rvPUuL6_2iPX`YP7}{p}j6B7lWuRTP zGN`tB=_h5PN|%R#wv{YTpQzjMS9wb%LR!3`+`-ezXBr|j_1}4!@^oV}RQy-38Cr0G z_sV4R$6O?Q{UlW5&Y^meY&*cHhqN?=!ssqHI530Zk*D#7vhcO1eVscngo|N8;UvAk zj)@3snv5<@A1D|)~r8IzwBDw6_eXIcZX2llH*Jb*hOZra~ARPl=l?HR7S}V zv!J0DZySkj?YseTA)!02!1fT(6nIrf9Xki{=}jtcf)tC6KTBZez}Zpw6=&||812XV zm7K$q2kO$iK5=6s`n1EwdxtKmTacT76?eIcp`mqbZ^;l>-((dv(cG{%ip% zfOenoZn|<_+>hW}HM|FY9>Y^~uMguoi5PSMrDGT`2ey%1#g-G0m+2257Rq_8pq%mpXLaoc;mzW5%gz}#*% zHCDBMWuV{LL1gbnWy#p{r*G!tNvnl$0-03aWG^{J{NxfVPxfLYim-vN$BCLAH0y!Eq>O zo2dxfUHh(~0Lzk~t^cXu@F9bVNCA)E*{e{>*EkKi$pFa0Z=lp4-$prYq_cz=UU$h{MzHS{w{iPkCQ5mLo!8>&&WBr@0 zj->%3!Dc2B0G-Iw93mEtPhX{EJu)<>dRJezF2SQTnX zXz_aa6~voPUxQ@Ljqn83KS8C>MY~%Ml^ZkMX$5$ctcia&)OXHQ&8+oOO|j~n%~|YS z7x>$6*iz7~8DLJzUJSG26B04_lAja!@f5%_X25q@UyOXG?-Lk2A36R=*8=e|^Zxg& zoq(BP8|Vq)MIl7#$gijaDFShaxXX*8n;1uZ=JYUgC#LNxPb~sW%XjOLuEBBE86thWoJ}XN7QOh&> z3L!5!1?uBi3$0P2I){1-Wgl4jK3y)thW5>3;3s7n$yH4Z zJtGIgC(Fa~G#aC@d#8X>b3W0iqj)Q~AW9c!j9lq%u6h8|?$ncb;Ad%2m>ZRACEVH@ z*F@?`f1Jg8~$RxLS3Usl2VjtnZBkk#H|H4u#!@Z4Abf_RnXPB*%_D)4Ox^ zpT2)eb^q&A3sN-&-NuYPkNqPR+}bad{>3T6WCswxNC)R%3GOtC^4R>{qpxkGRit_6 G>3;#V_>FM@ literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab.png b/ej2-asp-core-mvc/ribbon/images/ribbon-contextualtab.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c5c643542aa6526feefb5db5490ada5fb5e24b GIT binary patch literal 13758 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 Layouts
      • File menu
      • Backstage Menu
      • +
      • Contextual Tabs
      • Help Pane Template
      • Tooltip
      • Resizing
      • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 8449f7ceb0..c7fba7518e 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -2103,6 +2103,7 @@
      • Ribbon Layouts
      • File menu
      • Backstage Menu
      • +
      • Contextual Tabs
      • Help Pane Template
      • Tooltip
      • Resizing
      • From ec6cda299511ace8b6a458b2fa0b3464ebd64617 Mon Sep 17 00:00:00 2001 From: Sridhar Alagiri Samy Date: Tue, 19 Mar 2024 19:05:13 +0530 Subject: [PATCH 008/134] 876470: Sample corrections done --- .../spreadsheet/formula-cs3/razor | 17 ++++---- .../spreadsheet/formula-cs3/tagHelper | 39 ++++++++++--------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/razor b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/razor index 3afdd16bd5..c4206abe45 100644 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/razor +++ b/ej2-asp-core-mvc/code-snippet/spreadsheet/formula-cs3/razor @@ -26,31 +26,30 @@ }).Add(); }).Render() - + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/circulargauge/gauge-animation/tagHelper b/ej2-asp-core-mvc/code-snippet/circulargauge/gauge-animation/tagHelper new file mode 100644 index 0000000000..7a8dc69ac3 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/circulargauge/gauge-animation/tagHelper @@ -0,0 +1,49 @@ +@using Syncfusion.EJ2; + +@{ + var labelFont = new Syncfusion.EJ2.CircularGauge.CircularGaugeFont { FontFamily = "inherit" }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From c6de11af848faaa0d854eb3a17ba6e6cbe3ce594 Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:03:18 +0530 Subject: [PATCH 015/134] 869993: committed gauge animation topics. --- .../lineargauge/animation/animation.cs | 22 ++++++++++++ .../code-snippet/lineargauge/animation/razor | 15 ++++++++ .../lineargauge/animation/tagHelper | 34 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/animation/animation.cs create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/animation/razor create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/animation/tagHelper diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/animation/animation.cs b/ej2-asp-core-mvc/code-snippet/lineargauge/animation/animation.cs new file mode 100644 index 0000000000..48a99dcc60 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/animation/animation.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using EJ2_Core_Application.Models; +using Newtonsoft.Json; +using Syncfusion.EJ2.Charts; +using Syncfusion.EJ2.LinearGauge; + + +namespace EJ2_Core_Application.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() + { + return View(); + } + } +} diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/animation/razor b/ej2-asp-core-mvc/code-snippet/lineargauge/animation/razor new file mode 100644 index 0000000000..6a8632f24e --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/animation/razor @@ -0,0 +1,15 @@ +@using Syncfusion.EJ2.LinearGauge; + +@Html.EJS().LinearGauge("container").Load("gaugeLoad").Orientation(Syncfusion.EJ2.LinearGauge.Orientation.Horizontal).Annotations( + annotation => annotation.AxisIndex(0).AxisValue(10).X(10).Y(-70).ZIndex("1").Content("
        10 MPH
        ").Add()).Axes(axes => + axes.Pointers(pointer => pointer.Width(15).Height(15).Value(10).Offset("-40").Placement(Syncfusion.EJ2.LinearGauge.Placement.Near).MarkerType(Syncfusion.EJ2.LinearGauge.MarkerType.Triangle).Add()) + .MajorTicks(majorTick => majorTick.Interval(10).Height(20).Color("#9E9E9E")) + .MinorTicks(minorTick => minorTick.Interval(2).Height(10).Color("#9E9E9E")) + .Ranges(range => range.Start(0).End(50).StartWidth(10).EndWidth(10).Color("#F45656").Offset(35).Add()) + .LabelStyle(labelStyle => labelStyle.Offset(48).Font(font => font.FontFamily("inherit"))).Add()).Render() + + diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/animation/tagHelper b/ej2-asp-core-mvc/code-snippet/lineargauge/animation/tagHelper new file mode 100644 index 0000000000..2d6c5cccae --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/animation/tagHelper @@ -0,0 +1,34 @@ +@using Syncfusion.EJ2.LinearGauge + +@{ + var labelFont = new Syncfusion.EJ2.LinearGauge.LinearGaugeFont { FontFamily = "inherit" }; +} + + + + + + + + + + + + + + + + + + + + + + + + + From 928ce1945e981a40cba49f9e56f24cf757490dcf Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:05:36 +0530 Subject: [PATCH 016/134] 869993: committed marker pointer samples. --- .../marker-pointer-image.cs | 22 +++++++++++++++ .../pointers/marker-pointer-image/razor | 10 +++++++ .../pointers/marker-pointer-image/tagHelper | 20 ++++++++++++++ .../marker-pointer-text.cs | 22 +++++++++++++++ .../pointers/marker-pointer-text/razor | 21 +++++++++++++++ .../pointers/marker-pointer-text/tagHelper | 27 +++++++++++++++++++ 6 files changed, 122 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/marker-pointer-image.cs create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/razor create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/marker-pointer-text.cs create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/razor create mode 100644 ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/tagHelper diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/marker-pointer-image.cs b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/marker-pointer-image.cs new file mode 100644 index 0000000000..48a99dcc60 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/marker-pointer-image.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using EJ2_Core_Application.Models; +using Newtonsoft.Json; +using Syncfusion.EJ2.Charts; +using Syncfusion.EJ2.LinearGauge; + + +namespace EJ2_Core_Application.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() + { + return View(); + } + } +} diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/razor b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/razor new file mode 100644 index 0000000000..1b4920425b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/razor @@ -0,0 +1,10 @@ +@using Syncfusion.EJ2.LinearGauge; + +@Html.EJS().LinearGauge("gauge").Orientation(Syncfusion.EJ2.LinearGauge.Orientation.Horizontal).Axes(axes => axes.Minimum(0).Maximum(100) + .LabelStyle(labelStyle => labelStyle.Font(font => font.FontFamily("inherit")).Position(Syncfusion.EJ2.LinearGauge.Position.Outside)) + .Pointers(pointer => + { + pointer.Value(60).MarkerType(Syncfusion.EJ2.LinearGauge.MarkerType.Image).Width(40).Height(40).ImageUrl("https://ej2.syncfusion.com/aspnetmvc/Content/LinearGauge/step-count.png").Offset("-27").Add(); + }) + .MajorTicks(majorTick => majorTick.Interval(20).Height(7).Width(1).Position(Syncfusion.EJ2.LinearGauge.Position.Outside)).MinorTicks(minorTick => minorTick.Height(3).Width(1).Position(Syncfusion.EJ2.LinearGauge.Position.Outside)).Add()).Render() + diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/tagHelper b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/tagHelper new file mode 100644 index 0000000000..885b6f444b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-image/tagHelper @@ -0,0 +1,20 @@ +@using Syncfusion.EJ2.LinearGauge + +@{ + var labelFont = new Syncfusion.EJ2.LinearGauge.LinearGaugeFont { FontFamily = "inherit" }; +} + + + + + + + + + + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/marker-pointer-text.cs b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/marker-pointer-text.cs new file mode 100644 index 0000000000..48a99dcc60 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/marker-pointer-text.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using EJ2_Core_Application.Models; +using Newtonsoft.Json; +using Syncfusion.EJ2.Charts; +using Syncfusion.EJ2.LinearGauge; + + +namespace EJ2_Core_Application.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() + { + return View(); + } + } +} diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/razor b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/razor new file mode 100644 index 0000000000..8d79d83e67 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/razor @@ -0,0 +1,21 @@ +@using Syncfusion.EJ2.LinearGauge; + +@{ + var textStyle = new Syncfusion.EJ2.LinearGauge.LinearGaugeFont { Size = "18px", FontWeight = "bold" }; +} + +@Html.EJS().LinearGauge("gauge").Orientation(Syncfusion.EJ2.LinearGauge.Orientation.Horizontal).Axes(axes => axes.Minimum(0).Maximum(100) + .Line(line => line.Width(0)).LabelStyle(labelStyle => labelStyle.Font(font => font.FontFamily("inherit")).Position(Syncfusion.EJ2.LinearGauge.Position.Outside)) + .Pointers(pointer => + { + pointer.Value(13).MarkerType(Syncfusion.EJ2.LinearGauge.MarkerType.Text).Text("Low").Color("Black").Offset("-35").TextStyle(textStyle).Add(); + pointer.Value(48).MarkerType(Syncfusion.EJ2.LinearGauge.MarkerType.Text).Text("Moderate").Color("Black").Offset("-35").TextStyle(textStyle).Add(); + pointer.Value(83).MarkerType(Syncfusion.EJ2.LinearGauge.MarkerType.Text).Text("High").Color("Black").Offset("-35").TextStyle(textStyle).Add(); + }) + .Ranges(range => + { + range.Start(0).End(30).StartWidth(50).EndWidth(50).Color("#FB7D55").Position(Syncfusion.EJ2.LinearGauge.Position.Outside).Add(); + range.Start(30).End(65).StartWidth(50).EndWidth(50).Color("#ECC85B").Position(Syncfusion.EJ2.LinearGauge.Position.Outside).Add(); + range.Start(65).End(100).StartWidth(50).EndWidth(50).Color("#6FC78A").Position(Syncfusion.EJ2.LinearGauge.Position.Outside).Add(); + }).MajorTicks(majorTick => majorTick.Interval(20).Height(7).Width(1).Position(Syncfusion.EJ2.LinearGauge.Position.Outside)).MinorTicks(minorTick => minorTick.Height(3).Interval(10).Position(Syncfusion.EJ2.LinearGauge.Position.Outside)).Add()).Render() + diff --git a/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/tagHelper b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/tagHelper new file mode 100644 index 0000000000..3987770725 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/lineargauge/pointers/marker-pointer-text/tagHelper @@ -0,0 +1,27 @@ +@using Syncfusion.EJ2.LinearGauge + +@{ + var labelFont = new Syncfusion.EJ2.LinearGauge.LinearGaugeFont { FontFamily = "inherit" }; +} + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From b1219a258ea483448f8b0162e63f242d2855d165 Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:07:12 +0530 Subject: [PATCH 017/134] 869993: committed maps samples. --- .../getMinMaxLatitudeLongitude.cs | 35 +++++++++++ .../methods/getMinMaxLatitudeLongitude/razor | 50 ++++++++++++++++ .../getMinMaxLatitudeLongitude/tagHelper | 60 +++++++++++++++++++ 3 files changed, 145 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/getMinMaxLatitudeLongitude.cs create mode 100644 ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/razor create mode 100644 ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/tagHelper diff --git a/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/getMinMaxLatitudeLongitude.cs b/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/getMinMaxLatitudeLongitude.cs new file mode 100644 index 0000000000..f30278336b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/getMinMaxLatitudeLongitude.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using EJ2_Core_Application.Models; +using Newtonsoft.Json; + +namespace EJ2_Core_Application.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() + { + ViewBag.world_map = GetWorldMap(); + ViewBag.worldMap = GetMap(); + return View(); + } + + // To access the data in Core + public object GetWorldMap() + { + string allText = System.IO.File.ReadAllText("./wwwroot/scripts/MapsData/WorldMap.js"); + return JsonConvert.DeserializeObject(allText); + } + + // To access the data in MVC + public object GetMap() + { + string allText = System.IO.File.ReadAllText(Server.MapPath("~/App_Data/WorldMap.json")); + return JsonConvert.DeserializeObject(allText, typeof(object)); + } + } +} diff --git a/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/razor b/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/razor new file mode 100644 index 0000000000..2b4c94889b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/razor @@ -0,0 +1,50 @@ +@{ + var data = new [] + { + new { latitude= 22.572646, longitude= 88.363895 }, + new { latitude= 25.0700428, longitude= 67.2847875 } +}; +} + + +< button id = "button" > GetMinMaxLatitudeLongitude +

        + +@(Html.EJS().Maps("maps").Width("450px").ZoomSettings(zoom => zoom.ZoomFactor(7).Enable(true)).CenterPosition(center => center.Latitude(21.815447).Longitude(80.1932)).Layers(layers => { + layers.MarkerSettings(marker => { + marker.Visible(true).AnimationDuration(1500).Shape(MarkerType.Circle).DataSource(data).Height(25).Width(25).Add(); + }).ShapeData(ViewBag.worldMap).Add(); +}).Render()) + + diff --git a/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/tagHelper b/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/tagHelper new file mode 100644 index 0000000000..c97039a35d --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/methods/getMinMaxLatitudeLongitude/tagHelper @@ -0,0 +1,60 @@ +@using Syncfusion.EJ2.Maps + +@{ +var data = new[] +{ +new { latitude= 22.572646, longitude= 88.363895 }, +new { latitude= 25.0700428, longitude= 67.2847875} +}; + +} + + + +

        + + + + + + + + + + + + + + From ed0cbf132cd340174be33fb7df16b16ade3ba62c Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:10:19 +0530 Subject: [PATCH 018/134] 869993: committed missed contents. --- .../linear-gauge/EJ2_ASP.MVC/animation.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md diff --git a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md new file mode 100644 index 0000000000..30446ce850 --- /dev/null +++ b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md @@ -0,0 +1,36 @@ +--- +layout: post +title: Animation in ##Platform_Name## Linear Gauge component +description: Learn here all about animation in the Syncfusion ##Platform_Name## Linear Gauge component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Linear Gauge +publishingplatform: ##Platform_Name## +documentation: ug +--- + + +# Animation in ASP.NET MVC Linear Gauge + +All of the elements in the Linear Gauge, such as the axis lines, ticks, labels, ranges, pointers, and annotations, can be animated sequentially by using the [AnimationDuration](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGauge.html#Syncfusion_EJ2_LinearGauge_LinearGauge_AnimationDuration) property. The animation for the Linear Gauge is enabled when the `AnimationDuration` property is set to an appropriate value in milliseconds, providing a smooth rendering effect for the component. If the `AnimationDuration` property is set to **0**, which is the default value, the animation effect is disabled. If the animation is enabled, the component will behave in the following order. + +1. The axis line, ticks, labels, and ranges will all be animated at the same time. +2. If available, pointers will be animated in the same way as [pointer animation](https://ej2.syncfusion.com/aspnetmvc/documentation/linear-gauge/pointers#pointer-animation). +3. If available, annotations will be animated. + +The animation of the Linear Gauge is demonstrated in the following example. + +{% if page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/lineargauge/animation/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Animation.cs" %} +{% include code-snippet/lineargauge/animation/animation.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Linear Gauge with animation](../linear-gauge/images/animation.gif) + +> Only the pointer of the Linear Gauge can be animated individually, not the axis lines, ticks, labels, ranges, and annotations. You can refer this [link](https://ej2.syncfusion.com/aspnetmvc/documentation/linear-gauge/pointers#pointer-animation) to enable only pointer animation. From 41a08833b72461d031bd2e146128aa2601dca5fc Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:10:56 +0530 Subject: [PATCH 019/134] 869993: committed missed contents. --- .../linear-gauge/EJ2_ASP.NETCORE/animation.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md diff --git a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md new file mode 100644 index 0000000000..deb43acf3f --- /dev/null +++ b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md @@ -0,0 +1,37 @@ +--- +layout: post +title: Animation in ##Platform_Name## Linear Gauge component +description: Learn here all about animation in the Syncfusion ##Platform_Name## Linear Gauge component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Animation +publishingplatform: ##Platform_Name## +documentation: ug +--- + + +# Animation in ASP.NET Core Linear Gauge + +All of the elements in the Linear Gauge, such as the axis lines, ticks, labels, ranges, pointers, and annotations, can be animated sequentially by using the [animationDuration](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGauge.html#Syncfusion_EJ2_LinearGauge_LinearGauge_AnimationDuration) property. The animation for the Linear Gauge is enabled when the `animationDuration` property is set to an appropriate value in milliseconds, providing a smooth rendering effect for the component. If the `animationDuration` property is set to **0**, which is the default value, the animation effect is disabled. If the animation is enabled, the component will behave in the following order. + +1. The axis line, ticks, labels, and ranges will all be animated at the same time. +2. If available, pointers will be animated in the same way as [pointer animation](https://ej2.syncfusion.com/aspnetcore/documentation/linear-gauge/pointers#pointer-animation). +3. If available, annotations will be animated. + +The animation of the Linear Gauge is demonstrated in the following example. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/lineargauge/animation/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Animation.cs" %} +{% include code-snippet/lineargauge/animation/animation.cs %} +{% endhighlight %} +{% endtabs %} + +{% endif %} + +![Linear Gauge with animation](../linear-gauge/images/animation.gif) + +> Only the pointer of the Linear Gauge can be animated individually, not the axis lines, ticks, labels, ranges, and annotations. You can refer this [link](https://ej2.syncfusion.com/aspnetcore/documentation/linear-gauge/pointers#pointer-animation) to enable only pointer animation. From 6dc9b0ca63155fd9318268410d633e9b22e2f27a Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:12:08 +0530 Subject: [PATCH 020/134] 869993: committed missed images. --- .../linear-gauge/images/animation.gif | Bin 0 -> 42937 bytes .../images/marker-pointer-image.png | Bin 0 -> 3228 bytes .../linear-gauge/images/marker-pointer-text.png | Bin 0 -> 3810 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 ej2-asp-core-mvc/linear-gauge/images/animation.gif create mode 100644 ej2-asp-core-mvc/linear-gauge/images/marker-pointer-image.png create mode 100644 ej2-asp-core-mvc/linear-gauge/images/marker-pointer-text.png diff --git a/ej2-asp-core-mvc/linear-gauge/images/animation.gif b/ej2-asp-core-mvc/linear-gauge/images/animation.gif new file mode 100644 index 0000000000000000000000000000000000000000..35454154d339c254c08be58370a34908ddb1588e GIT binary patch literal 42937 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 PxOYO5#K<)YtIw?gIt&+1 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/linear-gauge/images/marker-pointer-image.png b/ej2-asp-core-mvc/linear-gauge/images/marker-pointer-image.png new file mode 100644 index 0000000000000000000000000000000000000000..ec631074e253ebce25fd67961a282318acb85e4e GIT binary patch literal 3228 zcmeH~X*k>29>;?zT6CH!6+)02ZK+VBq6@7Wsp?Rj7E?RDsERZQ##(Jt3{CD#JN8;e zr)Wf~t$j&`NIKUNy~ZwyCaqW+X^;dV=HJeJaqr9f=H55+;yma1p67SY?|VLHdCtkX z=z-GOrN0XV0%^IObGZZpDKUYfp{@$F)Qx_f22@IMmr%~2`a$SCAU=yY^Ys}JsDY@l z8L|V=J8z!*HVy>Z-Se?1F)=mQKp;&UH4sB(_+^! z9lHwLNZ_RuYGGSs$@lTOT9K2Njn6myP#mTH@~f*CzM|v`Cgpb+B!JQN9yYk%d$~ZAt+BJsS=>z*7h1{3ZVj8qQ~|{9E== zs0u;ST&0%y7X*7>Uw!~g#*sIUznq^y#=bq5Mk@S^2a<~*7ji%iO0z$7{ zJ7AQ)RymJ!ToI=5dYrZnFl4(Ecu5MburqW0V?=E1(I)hizJ*VHBtu+p7ex3xVY@|} z5tV}R{L|i!+Ipigayz0csb_gjA{*=NwNK~l8n;%fVNIePy61r&)QypemZdfiJrY{7 zplx$};l!0UQ6F)v&Wp#Ny}9hEM-o0MA=pz6X5zI`2kF1@1w1w47Cgo`{joV=WU8(` z;Sol(!}2b`mx0>NL{ZR$PQSps6PQz98ZsBqqXQ+ZCYiFXGqh6u0hq}xRp7U;*mn)b zN!H#zfc35=g~5W)(81@eC)Byrz^Hp-L`lXNfK1M)G7nwt@0AXI1oJRB)|5B1GJteU z;C4Z<{u#1NJ%<)br|m~9W;MK)?V==%;No=4G8=;J5D`?c%fz$bYQ?BRjg|_GeslKR z%2O_pR-${X=?H8r>uv2okP+5meu-5%?}8`2m+#;m`A@#Dri z?coFx<~zjh?e+V!jw3qZP&Rubkyb|sZ?M-Nkmu~0xTn@*Q`7S;n0_%1U{Ob!Bkw~W zIV~#))2XA;4*=#~@wp{>AFVLqqf3bP&Pm5(x>{e5ui}oEr7Wc``ZzEUuBGD!HnVc? zkWbqeMqGP`*wzkO|3?vIikKd6<%$Y8)a{%DtVqx2=D=yU0`DQCOJ0){97X z!fY=1u%z_mU)4}kDJnjugp0QpvaqA%#g1RD;>FEW!(6#YH0|Bln7mrUG7K@HgLgf{ zaLtFobxlkoIdZVHD7&(h!p%6^N#CYX3GA0eW-zr{_z@M2}pO-&n8IyvQSF}-caV#h9cZ=}@#kMvl zrwypu=8Tf^Gal^i$s3A#xPK1P8D;<}icIf9>U16PWAI`(9L2f&%~QG@syAv!7pna- zTY)^ahi|qg2IZX)MF;43b8p*@c~&j4!*Ax+@O`7!b!>b=<#Qc-u3?Az5+yUbvZ{b zEG%x@h(Ah39Fw-!Hl$TTes33bStKk?zwX*U_XXhU3v+Y+`-vCg1yVczS2b9+WO0o7 z>eV?pr|1|uxe3yH_zB5}tFNL$q?esanUpEB>0r=a>}R)Jpi0JI6zJT) zy?ghfkCl)|{Tg*+CG^+fFD78muO)OQYd&T2 zhA(YxI~@t9X%=Q~6CraxycU2VJ4Ln@=_Sw22I|h3rI~>lvD}f-TCOVdB8#efgAq z{&ndDrBAazt`yIr{Z^nFDx^sn@S%5arFw8EDX@^@5J8 z>dCjgjue{(p7PF}u6s>lX|9$nKH}H+YQ7aX!T76yHT+>q!gnTx@8|~u$3C#02j{1n zUNH2N*$g5%4)A{p^mE_P+@}myoFoa~%1_q3*6eSIjowZ?5^iib+>gUVpUQ%P~tnb|-Ci_RvyRFhi%t+ix$%90;AFi8) z6uWPB)E*T?T#yuIPTaP~Esce$E{j_Fm!3Uh)Mo5=DCef4riH;5_P-zpYvrr9v6_QGndO@^Gnl H4!->dfb_z! literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/linear-gauge/images/marker-pointer-text.png b/ej2-asp-core-mvc/linear-gauge/images/marker-pointer-text.png new file mode 100644 index 0000000000000000000000000000000000000000..8fd79b75d1046df1302d8b7d2cd76c88c4b46cb7 GIT binary patch literal 3810 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 literal 0 HcmV?d00001 From 9c07660855a0bbe049c905f470f2b8d08bca3bf3 Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:13:04 +0530 Subject: [PATCH 021/134] 869993: committed missed images. --- .../getMinMaxLatitudeLongitude-method.PNG | Bin 0 -> 27162 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ej2-asp-core-mvc/maps/images/Methods/getMinMaxLatitudeLongitude-method.PNG diff --git a/ej2-asp-core-mvc/maps/images/Methods/getMinMaxLatitudeLongitude-method.PNG b/ej2-asp-core-mvc/maps/images/Methods/getMinMaxLatitudeLongitude-method.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a23423ad2bd777463b4007df2c837deaab982898 GIT binary patch literal 27162 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 n(z1rc%>TD~V84ot{@q?xa Date: Tue, 19 Mar 2024 21:13:51 +0530 Subject: [PATCH 022/134] 869993: committed missed contents. --- ej2-asp-core-mvc/maps/methods.md | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 ej2-asp-core-mvc/maps/methods.md diff --git a/ej2-asp-core-mvc/maps/methods.md b/ej2-asp-core-mvc/maps/methods.md new file mode 100644 index 0000000000..74fc290047 --- /dev/null +++ b/ej2-asp-core-mvc/maps/methods.md @@ -0,0 +1,45 @@ +--- +layout: post +title: Methods in Syncfusion ##Platform_Name## Maps Component +description: Learn here all about the methods in the Syncfusion ##Platform_Name## Maps component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Maps +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Methods in ##Platform_Name## Maps component + +## Methods + +This section explains the methods used in the Maps component. + +## getMinMaxLatitudeLongitude + +The `getMinMaxLatitudeLongitude` method returns the minimum and maximum latitude and longitude values of the Maps visible area. This method returns a `IMinMaxLatitudeLongitude` object that contains the Maps minimum and maximum latitude and longitude coordinates. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/maps/methods/getMinMaxLatitudeLongitude/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="GetMinMax.cs" %} +{% include code-snippet/maps/methods/getMinMaxLatitudeLongitude/getMinMaxLatitudeLongitude.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/maps/methods/getMinMaxLatitudeLongitude/razor %} +{% endhighlight %} +{% highlight c# tabtitle="GetMinMax.cs" %} +{% include code-snippet/maps/methods/getMinMaxLatitudeLongitude/getMinMaxLatitudeLongitude.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + + +![getMinMaxLatitudeLongitude method](./images/Methods/getMinMaxLatitudeLongitude-method.PNG) From 00f93e3a00e1a4ca5fc7c7fa244609792eafb81c Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:16:07 +0530 Subject: [PATCH 023/134] 869993: committed missed contents. --- ej2-asp-core-mvc/maps/user-interactions.md | 93 ++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/ej2-asp-core-mvc/maps/user-interactions.md b/ej2-asp-core-mvc/maps/user-interactions.md index 4b77f001ca..52b39cd74c 100644 --- a/ej2-asp-core-mvc/maps/user-interactions.md +++ b/ej2-asp-core-mvc/maps/user-interactions.md @@ -549,6 +549,54 @@ To enable the selection for markers in Maps, set the `MapsSelectionSettings` in ![Enable selection for markers](./images/UserInteraction/selection-marker.PNG) +### Enable selection for polygons + +{% if page.publishingplatform == "aspnet-core" %} + +When the [enable](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_Enable) property of [selectionSettings](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsPolygonSettings.html#Syncfusion_EJ2_Maps_MapsPolygonSettings_SelectionSettings) is set to **true**, the polygon shapes can be selected via user interaction. The following properties are available in `selectionSettings` to customize the polygon shape when it is selected. + +* [enableMultiSelect](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_EnableMultiSelect) - It is used to enable multiple selection of polygon shapes. +* [fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_Fill) - It is used to change the color of the selected polygon shape. +* [opacity](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_Opacity) - It is used to change the opacity of the selected polygon shape. +* [border](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_Border) - This property is used to change the color, width, and opacity of the border of the selected polygon shape. + +The following example shows how to select the polygon shape in the geometry map. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/maps/polygon/polygon-shape-selection/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Polygon-shape-selection.cs" %} +{% include code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +When the [Enable](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_Enable) property of [SelectionSettings](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsPolygonSettings.html#Syncfusion_EJ2_Maps_MapsPolygonSettings_SelectionSettings) is set to **true**, the polygon shapes can be selected via user interaction. The following properties are available in `SelectionSettings` to customize the polygon shape when it is selected. + +* [EnableMultiSelect](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_EnableMultiSelect) - It is used to enable multiple selection of polygon shapes. +* [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_Fill) - It is used to change the color of the selected polygon shape. +* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_Opacity) - It is used to change the opacity of the selected polygon shape. +* [Border](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsSelectionSettings.html#Syncfusion_EJ2_Maps_MapsSelectionSettings_Border) - This property is used to change the color, width, and opacity of the border of the selected polygon shape. + +The following example shows how to select the polygon shape in the geometry map. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/maps/polygon/polygon-shape-selection/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Polygon-shape-selection.cs" %} +{% include code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + + + +![Enable selection for polygons](./images/Polygon/polygon-shape-selection.gif) + + ### Public method for the shape selection The `shapeSelection` method can be used to select each shape in the Maps. LayerIndex, propertyName, country name, and selected value as a boolean state(true / false) are the input parameters for this method. @@ -741,6 +789,51 @@ To enable the highlight for markers in Maps, set the `MapsHighlightSettings` in ![Enable highlight for markers](./images/UserInteraction/selection-marker.PNG) +### Enable highlight for polygons + +{% if page.publishingplatform == "aspnet-core" %} + +The polygon shapes can be highlighted via user interaction if the [enable](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsHighlightSettings.html#Syncfusion_EJ2_Maps_MapsHighlightSettings_Enable) property of [highlightSettings](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsPolygonSettings.html#Syncfusion_EJ2_Maps_MapsPolygonSettings_HighlightSettings) is set to **true**. The following properties are available in `highlightSettings` to customize the polygon shape when it is highlighted. + +* [fill](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsHighlightSettings.html#Syncfusion_EJ2_Maps_MapsHighlightSettings_Fill) - It is used to change the color of the highlighted polygon shape. +* [opacity](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsHighlightSettings.html#Syncfusion_EJ2_Maps_MapsHighlightSettings_Opacity) - It is used to change the opacity of the highlighted polygon shape. +* [border](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsHighlightSettings.html#Syncfusion_EJ2_Maps_MapsHighlightSettings_Border) - This property is used to change the color, width, and opacity of the border of the highlighted polygon shape. + +The following example shows how to highlight a polygon shape on a geometry map. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/maps/polygon/polygon-shape-highlight/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Polygon-shape-highlight.cs" %} +{% include code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +The polygon shapes can be highlighted via user interaction if the [Enable](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsHighlightSettings.html#Syncfusion_EJ2_Maps_MapsHighlightSettings_Enable) property of [HighlightSettings](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsPolygonSettings.html#Syncfusion_EJ2_Maps_MapsPolygonSettings_HighlightSettings) is set to **true**. The following properties are available in `HighlightSettings` to customize the polygon shape when it is highlighted. + +* [Fill](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsHighlightSettings.html#Syncfusion_EJ2_Maps_MapsHighlightSettings_Fill) - It is used to change the color of the highlighted polygon shape. +* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsHighlightSettings.html#Syncfusion_EJ2_Maps_MapsHighlightSettings_Opacity) - It is used to change the opacity of the highlighted polygon shape. +* [Border](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsHighlightSettings.html#Syncfusion_EJ2_Maps_MapsHighlightSettings_Border) - This property is used to change the color, width, and opacity of the border of the highlighted polygon shape. + +The following example shows how to highlight a polygon shape on a geometry map. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/maps/polygon/polygon-shape-highlight/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Polygon-shape-highlight.cs" %} +{% include code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + + + +![Enable highlight for polygons](./images/Polygon/polygon-shape-highlight.gif) + ## Tooltip On mouse over or touch end event, the tooltip is used to get more information about the layer, bubble, or marker. It can be enabled separately for layer or bubble or marker by using the `Visible` property of `MapsTooltipSettings` as **true**. The `ValuePath` property in the tooltip takes the field name that presents in data source and displays that value as tooltip text. The `TooltipDisplayMode` property is used to change the display mode of the tooltip in Maps. Following display modes of tooltip are available in the Maps component. By default, `TooltipDisplayMode` is set to **MouseMove**. From df7528a45e4c706f026c52b7ddf4c2fc9dbaa062 Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:19:38 +0530 Subject: [PATCH 024/134] 869993: committed missed contents. --- .../linear-gauge/EJ2_ASP.MVC/pointers.md | 93 +++++++++++-------- .../linear-gauge/EJ2_ASP.NETCORE/pointers.md | 41 +++++--- 2 files changed, 86 insertions(+), 48 deletions(-) diff --git a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md index d5c3ec2566..a7f2f270ba 100644 --- a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md +++ b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md @@ -11,7 +11,7 @@ documentation: ug # Pointers in ASP.NET MVC Linear Gauge -Pointers are used to indicate values on an axis. The value of the pointer can be modified using the [`Value`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Value) property in [`LinearGaugePointer`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). +Pointers are used to indicate values on an axis. The value of the pointer can be modified using the [Value](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Value) property in [LinearGaugePointer](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). {% if page.publishingplatform == "aspnet-core" %} @@ -47,7 +47,7 @@ The Linear Gauge supports the following types of pointers: * Bar * Marker -The type of pointer can be modified by using the [`Type`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Type) property in [`LinearGaugePointer`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). +The type of pointer can be modified by using the [Type](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Type) property in [LinearGaugePointer](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). ### Marker pointer @@ -55,7 +55,7 @@ A marker pointer is a shape that can be used to mark the pointer value in the Li Types of marker shapes -By default, the marker shape for the pointer is **InvertedTriangle**. To change the shape of the pointer, use the [`MarkerType`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_MarkerType) property in [`LinearGaugePointer`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). The following marker types are available in Linear Gauge. +By default, the marker shape for the pointer is **InvertedTriangle**. To change the shape of the pointer, use the [MarkerType](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_MarkerType) property in [LinearGaugePointer](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). The following marker types are available in Linear Gauge. * Circle * Rectangle @@ -63,35 +63,54 @@ By default, the marker shape for the pointer is **InvertedTriangle**. To change * InvertedTriangle * Diamond * Image - -An image can be rendered instead of rendering a shape as a pointer. It can be achieved by setting the [`MarkerType`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_MarkerType) property to **Image** and setting the source URL of image to [`ImageUrl`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_ImageUrl) property in [`LinearGaugePointer`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). - -{% if page.publishingplatform == "aspnet-core" %} +* Text {% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/lineargauge/pointers/marker-pointer/tagHelper %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/lineargauge/pointers/marker-pointer/razor %} {% endhighlight %} {% highlight c# tabtitle="Marker-pointer.cs" %} {% include code-snippet/lineargauge/pointers/marker-pointer/marker-pointer.cs %} {% endhighlight %} {% endtabs %} -{% elsif page.publishingplatform == "aspnet-mvc" %} +![Linear Gauge with pointer as circle](../linear-gauge/images/marker-pointer.png) + + +Image can be rendered instead of rendering a shape as a pointer. It can be achieved by setting the [MarkerType](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_MarkerType) property to **Image** and setting the source URL of image to [ImageUrl](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_ImageUrl) property in [Pointer](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/lineargauge/pointers/marker-pointer/razor %} +{% include code-snippet/lineargauge/pointers/marker-pointer-image/razor %} {% endhighlight %} -{% highlight c# tabtitle="Marker-pointer.cs" %} -{% include code-snippet/lineargauge/pointers/marker-pointer/marker-pointer.cs %} +{% highlight c# tabtitle="Marker-pointer-image.cs" %} +{% include code-snippet/lineargauge/pointers/marker-pointer-image/marker-pointer-image.cs %} {% endhighlight %} {% endtabs %} -{% endif %} +![Linear Gauge with image pointer](../linear-gauge/images/marker-pointer-image.png) -![Linear Gauge with pointer as circle](../linear-gauge/images/marker-pointer.png) +Text can be added instead of rendering a shape as a pointer. It can be achieved by setting the [MarkerType](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_MarkerType) property to **Text**, and the text content can be set using the [Text](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Text) property in [Pointer](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). + +The following properties in the [TextStyle](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_TextStyle) property can be used to set the text style for the text pointer. + +* [FontFamily](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeFont.html#Syncfusion_EJ2_LinearGauge_LinearGaugeFont_FontFamily) - It is used to set the font family for the text pointer. +* [FontStyle](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeFont.html#Syncfusion_EJ2_LinearGauge_LinearGaugeFont_FontStyle) - It is used to set the font style for the text pointer. +* [FontWeight](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeFont.html#Syncfusion_EJ2_LinearGauge_LinearGaugeFont_FontWeight) - It is used to set the font weight for the text pointer. +* [Size](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeFont.html#Syncfusion_EJ2_LinearGauge_LinearGaugeFont_Size) - It is used to set the font size for the text pointer. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/lineargauge/pointers/marker-pointer-text/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Marker-pointer.cs" %} +{% include code-snippet/lineargauge/pointers/marker-pointer-text/marker-pointer-text.cs %} +{% endhighlight %} +{% endtabs %} + +![Linear Gauge with text pointer](../linear-gauge/images/marker-pointer-text.png) + @@ -99,15 +118,15 @@ An image can be rendered instead of rendering a shape as a pointer. It can be ac The marker pointer can be customized using the following properties and class. -* [`Height`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Height) - To set the height of the pointer. -* [`Position`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Position) - The position of the pointer can be changed by setting the value as **Inside**, **Outside**, **Cross**, or **Auto**. -* [`Width`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Width) - To set the width of the pointer. -* [`Color`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Color) - To set the color of the pointer. -* [`Placement`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Placement) - To place the pointer in the specified position. By default, the pointer is placed **Far** from the axis. To change the placement, set the [`Placement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Placement) property as **Near**, **Center**, or **None**. -* [`Offset`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Offset) - To place the pointer with specified distance from the axis. -* [`Opacity`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Opacity) - To set the opacity of the pointer. -* [`AnimationDuration`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_AnimationDuration) - To specify the duration of the animation in pointer. -* [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Border) - To set the color and width for the border of the pointer. +* [Height](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Height) - To set the height of the pointer. +* [Position](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Position) - The position of the pointer can be changed by setting the value as **Inside**, **Outside**, **Cross**, or **Auto**. +* [Width](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Width) - To set the width of the pointer. +* [Color](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Color) - To set the color of the pointer. +* [Placement](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Placement) - To place the pointer in the specified position. By default, the pointer is placed **Far** from the axis. To change the placement, set the [Placement](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Placement) property as **Near**, **Center**, or **None**. +* [Offset](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Offset) - To place the pointer with specified distance from the axis. +* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Opacity) - To set the opacity of the pointer. +* [AnimationDuration](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_AnimationDuration) - To specify the duration of the animation in pointer. +* [Border](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Border) - To set the color and width for the border of the pointer. {% if page.publishingplatform == "aspnet-core" %} @@ -132,7 +151,7 @@ The marker pointer can be customized using the following properties and class. ### Bar pointer -The bar pointer is used to track the axis value. The bar pointer starts from the beginning of the gauge and ends at the pointer value. To enable bar pointer set the [`Type`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Type) property in [`LinearGaugePointer`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html) as **Bar**. +The bar pointer is used to track the axis value. The bar pointer starts from the beginning of the gauge and ends at the pointer value. To enable bar pointer set the [Type](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Type) property in [LinearGaugePointer](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html) as **Bar**. {% if page.publishingplatform == "aspnet-core" %} @@ -167,13 +186,13 @@ The bar pointer is used to track the axis value. The bar pointer starts from the The bar pointer can be customized using following properties and class. -* [`Width`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Width) - To set the thickness of the bar pointer. -* [`Color`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Color) - To set the color of the bar pointer. -* [`Offset`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Offset) - To place the bar pointer with the specified distance from it's default position. -* [`Opacity`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Opacity) - To set the opacity of the bar pointer. -* [`RoundedCornerRadius`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_RoundedCornerRadius) - To set the corner radius of the bar pointer. -* [`Border`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Border) - To set the color and width for the border of the pointer. -* [`AnimationDuration`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_AnimationDuration) - To set the duration of the animation in bar pointer. +* [Width](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Width) - To set the thickness of the bar pointer. +* [Color](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Color) - To set the color of the bar pointer. +* [Offset](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Offset) - To place the bar pointer with the specified distance from it's default position. +* [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Opacity) - To set the opacity of the bar pointer. +* [RoundedCornerRadius](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_RoundedCornerRadius) - To set the corner radius of the bar pointer. +* [Border](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Border) - To set the color and width for the border of the pointer. +* [AnimationDuration](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_AnimationDuration) - To set the duration of the animation in bar pointer. N>The Placement property is not applicable for the bar pointer. @@ -206,7 +225,7 @@ N>The Placement property is not applicable for the bar pointer. ## Multiple pointers -Multiple pointers can be added to the Linear Gauge by adding multiple [`LinearGaugePointer`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html) in the [`LinearGaugePointers`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointers.html) and customization for the pointers can be done with [`LinearGaugePointer`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). +Multiple pointers can be added to the Linear Gauge by adding multiple [LinearGaugePointer](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html) in the [LinearGaugePointers](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointers.html) and customization for the pointers can be done with [LinearGaugePointer](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). {% if page.publishingplatform == "aspnet-core" %} @@ -237,7 +256,7 @@ Multiple pointers can be added to the Linear Gauge by adding multiple [`LinearGa ## Pointer animation -Pointer is animated on loading the gauge. This can be handled using the [`AnimationDuration`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_AnimationDuration) property. The duration of the animation can be specified in milliseconds. +Pointer is animated on loading the gauge. This can be handled using the [AnimationDuration](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_AnimationDuration) property. The duration of the animation can be specified in milliseconds. {% if page.publishingplatform == "aspnet-core" %} @@ -275,7 +294,7 @@ Gradient support allows the addition of multiple colors in the pointers of the L ### Linear Gradient -Using linear gradient, colors will be applied in a linear progression. The start value of the linear gradient can be set using the [`StartValue`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_StartValue) property. The end value of the linear gradient will be set using the [`EndValue`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_EndValue) property. The color stop values such as [`Color`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Color), [`Opacity`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Opacity), and [`Offset`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Offset) are set using [`ColorStop`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_ColorStop) property. +Using linear gradient, colors will be applied in a linear progression. The start value of the linear gradient can be set using the [StartValue](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_StartValue) property. The end value of the linear gradient will be set using the [EndValue](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_EndValue) property. The color stop values such as [Color](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Color), [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Opacity), and [Offset](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Offset) are set using [ColorStop](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_ColorStop) property. {% if page.publishingplatform == "aspnet-core" %} @@ -306,7 +325,7 @@ Using linear gradient, colors will be applied in a linear progression. The start ### Radial Gradient -Using radial gradient, colors will be applied in circular progression. The inner circle position of the radial gradient will be set using the [`InnerPosition`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeRadialGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeRadialGradient_InnerPosition) property. The outer circle position of the radial gradient can be set using the [`OuterPosition`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeRadialGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeRadialGradient_OuterPosition) property. The color stop values such as [`Color`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Color), [`Opacity`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Opacity), and [`Offset`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Offset) are set using [`ColorStop`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeRadialGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeRadialGradient_ColorStop) property. +Using radial gradient, colors will be applied in circular progression. The inner circle position of the radial gradient will be set using the [InnerPosition](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeRadialGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeRadialGradient_InnerPosition) property. The outer circle position of the radial gradient can be set using the [OuterPosition](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeRadialGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeRadialGradient_OuterPosition) property. The color stop values such as [Color](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Color), [Opacity](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Opacity), and [Offset](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeColorStop.html#Syncfusion_EJ2_LinearGauge_LinearGaugeColorStop_Offset) are set using [ColorStop](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeRadialGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeRadialGradient_ColorStop) property. {% if page.publishingplatform == "aspnet-core" %} @@ -335,4 +354,4 @@ Using radial gradient, colors will be applied in circular progression. The inner ![Linear Gauge with radial gradient pointer](../linear-gauge/images/radial-pointer.png) -N>If we set both gradients, only the linear gradient gets rendered. If we set the [`StartValue`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_StartValue) and [`EndValue`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_EndValue) of the [`LinearGradient`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html) as empty strings, then the radial gradient gets rendered in the pointer of the Linear Gauge. \ No newline at end of file +N>If we set both gradients, only the linear gradient gets rendered. If we set the [StartValue](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_StartValue) and [EndValue](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_EndValue) of the [LinearGradient](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html) as empty strings, then the radial gradient gets rendered in the pointer of the Linear Gauge. \ No newline at end of file diff --git a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md index 2a203f86ee..39f9886eda 100644 --- a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md +++ b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md @@ -63,10 +63,7 @@ By default, the marker shape for the pointer is **InvertedTriangle**. To change * InvertedTriangle * Diamond * Image - -An image can be rendered instead of rendering a shape as a pointer. It can be achieved by setting the [`MarkerType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_MarkerType) property to **Image** and setting the source URL of image to [`ImageUrl`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_ImageUrl) property in [`e-lineargauge-pointer`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). - -{% if page.publishingplatform == "aspnet-core" %} +* Text {% tabs %} {% highlight cshtml tabtitle="CSHTML" %} @@ -77,21 +74,43 @@ An image can be rendered instead of rendering a shape as a pointer. It can be ac {% endhighlight %} {% endtabs %} -{% elsif page.publishingplatform == "aspnet-mvc" %} +![Linear Gauge with pointer as circle](../linear-gauge/images/marker-pointer.png) + + +Image can be rendered instead of rendering a shape as a pointer. It can be achieved by setting the [markerType](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_MarkerType) property to **Image** and setting the source URL of image to [imageUrl](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_ImageUrl) property in [pointer](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). {% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/lineargauge/pointers/marker-pointer/razor %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/lineargauge/pointers/marker-pointer-image/tagHelper %} {% endhighlight %} {% highlight c# tabtitle="Marker-pointer.cs" %} -{% include code-snippet/lineargauge/pointers/marker-pointer/marker-pointer.cs %} +{% include code-snippet/lineargauge/pointers/marker-pointer-image/marker-pointer-image.cs %} {% endhighlight %} {% endtabs %} -{% endif %} +![Linear Gauge with image pointer](../linear-gauge/images/marker-pointer-image.png) -![Linear Gauge with pointer as circle](../linear-gauge/images/marker-pointer.png) +Text can be added instead of rendering a shape as a pointer. It can be achieved by setting the [markerType](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_MarkerType) property to **Text**, and the text content can be set using the [text](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_Text) property in [pointer](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html). + +The following properties in the [textStyle](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugePointer.html#Syncfusion_EJ2_LinearGauge_LinearGaugePointer_TextStyle) property can be used to set the text style for the text pointer. + +* [fontFamily](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeFont.html#Syncfusion_EJ2_LinearGauge_LinearGaugeFont_FontFamily) - It is used to set the font family for the text pointer. +* [fontStyle](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeFont.html#Syncfusion_EJ2_LinearGauge_LinearGaugeFont_FontStyle) - It is used to set the font style for the text pointer. +* [fontWeight](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeFont.html#Syncfusion_EJ2_LinearGauge_LinearGaugeFont_FontWeight) - It is used to set the font weight for the text pointer. +* [size](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeFont.html#Syncfusion_EJ2_LinearGauge_LinearGaugeFont_Size) - It is used to set the font size for the text pointer. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/lineargauge/pointers/marker-pointer-text/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Marker-pointer-text.cs" %} +{% include code-snippet/lineargauge/pointers/marker-pointer-text/marker-pointer-text.cs %} +{% endhighlight %} +{% endtabs %} + +![Linear Gauge with text pointer](../linear-gauge/images/marker-pointer-text.png) + @@ -335,4 +354,4 @@ Using radial gradient, colors will be applied in circular progression. The inner ![Linear Gauge with radial gradient pointer](../linear-gauge/images/radial-pointer.png) -N>If we set both gradients, only the linear gradient gets rendered. If we set the [`StartValue`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_StartValue) and [`EndValue`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_EndValue) of the [`LinearGradient`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html) as empty strings, then the radial gradient gets rendered in the pointer of the Linear Gauge. \ No newline at end of file +N>If we set both gradients, only the linear gradient gets rendered. If we set the [`StartValue`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_StartValue) and [`EndValue`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html#Syncfusion_EJ2_LinearGauge_LinearGaugeLinearGradient_EndValue) of the [`LinearGradient`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.LinearGauge.LinearGaugeLinearGradient.html) as empty strings, then the radial gradient gets rendered in the pointer of the Linear Gauge. From 096e0e78f91562f81be69cb204d43c930762d545 Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:23:57 +0530 Subject: [PATCH 025/134] 869993: committed missed contents. --- .../polygon-shape-highlight.cs | 29 +++++++ .../polygon/polygon-shape-highlight/razor | 74 ++++++++++++++++ .../polygon/polygon-shape-highlight/tagHelper | 82 ++++++++++++++++++ .../polygon-shape-selection.cs | 29 +++++++ .../polygon/polygon-shape-selection/razor | 74 ++++++++++++++++ .../polygon/polygon-shape-selection/tagHelper | 82 ++++++++++++++++++ .../Polygon/polygon-shape-highlight.gif | Bin 0 -> 45625 bytes .../Polygon/polygon-shape-selection.gif | Bin 0 -> 40439 bytes 8 files changed, 370 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper create mode 100644 ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif create mode 100644 ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs new file mode 100644 index 0000000000..a720d8b43a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs @@ -0,0 +1,29 @@ +using Newtonsoft.Json; +using Syncfusion.EJ2.Charts; + +namespace EJ2_Core_Application.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() + { + ViewBag.worldmap = GetWorldMap(); + ViewBag.world_map = GetMap(); + return View(); + } + + // To access the data in Core + public object GetWorldMap() + { + string allText = System.IO.File.ReadAllText("./wwwroot/scripts/MapsData/WorldMap.js"); + return JsonConvert.DeserializeObject(allText); + } + + // To access the data in MVC + public object GetMap() + { + string allText = System.IO.File.ReadAllText(Server.MapPath("~/App_Data/WorldMap.json")); + return JsonConvert.DeserializeObject(allText, typeof(object)); + } + } +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor new file mode 100644 index 0000000000..4ff2dab42a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor @@ -0,0 +1,74 @@ +@using Syncfusion.EJ2.Maps; + +@{ + var data = new[] + { + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, + new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, + new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, + new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, + new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, + new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, + new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, + new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, + new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, + new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, + new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, + new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, + new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, + new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, + new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, + new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, + new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, + new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, + new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, + new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, + new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, + new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, + new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, + new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, + new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, + new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, + new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, + new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, + new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, + new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, + new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, + new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, + new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } + }; + + + var polygons = new List + { + new Syncfusion.EJ2.Maps.MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } + }; + + var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings + { + Enable = true, Fill = "yellow", Opacity = 0.4, + Border = new MapsBorder + { + Color ="blue", + Opacity = 0.6, + Width=4 + } + }; + + var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings + { + Enable = true, + Fill = "red", + EnableMultiSelect = false, + Opacity = 0.7, + Border = new MapsBorder + { + Color = "green", + Opacity = 0.7, + Width = 2 + } + }; +} + +@(Html.EJS().Maps("maps").Layers(layers => { layers.PolygonSettings(polygon => { polygon.Polygons(polygons).HighlightSettings(highlight).SelectionSettings(selection); }).ShapeData(ViewBag.world_map).Add(); }).Render()) \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper new file mode 100644 index 0000000000..0ed75a4fe8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper @@ -0,0 +1,82 @@ +@using Syncfusion.EJ2.Maps + +@{ + var data = new[] + { + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, + new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, + new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, + new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, + new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, + new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, + new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, + new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, + new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, + new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, + new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, + new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, + new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, + new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, + new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, + new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, + new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, + new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, + new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, + new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, + new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, + new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, + new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, + new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, + new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, + new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, + new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, + new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, + new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, + new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, + new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, + new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, + new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } + }; + + + var polygons = new List + { + new MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } + }; + + var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings + { + Enable = true, Fill = "yellow", Opacity = 0.4, + Border = new MapsBorder + { + Color ="blue", + Opacity = 0.6, + Width=4 + } + }; + + var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings + { + Enable = true, + Fill = "red", + EnableMultiSelect = false, + Opacity = 0.7, + Border = new MapsBorder + { + Color = "green", + Opacity = 0.7, + Width = 2 + } + }; + +} + + + + + + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs new file mode 100644 index 0000000000..a720d8b43a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs @@ -0,0 +1,29 @@ +using Newtonsoft.Json; +using Syncfusion.EJ2.Charts; + +namespace EJ2_Core_Application.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() + { + ViewBag.worldmap = GetWorldMap(); + ViewBag.world_map = GetMap(); + return View(); + } + + // To access the data in Core + public object GetWorldMap() + { + string allText = System.IO.File.ReadAllText("./wwwroot/scripts/MapsData/WorldMap.js"); + return JsonConvert.DeserializeObject(allText); + } + + // To access the data in MVC + public object GetMap() + { + string allText = System.IO.File.ReadAllText(Server.MapPath("~/App_Data/WorldMap.json")); + return JsonConvert.DeserializeObject(allText, typeof(object)); + } + } +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor new file mode 100644 index 0000000000..c411172799 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor @@ -0,0 +1,74 @@ +@using Syncfusion.EJ2.Maps; + +@{ + var data = new[] + { + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, + new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, + new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, + new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, + new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, + new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, + new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, + new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, + new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, + new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, + new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, + new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, + new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, + new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, + new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, + new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, + new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, + new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, + new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, + new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, + new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, + new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, + new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, + new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, + new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, + new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, + new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, + new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, + new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, + new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, + new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, + new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, + new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } + }; + + + var polygons = new List + { + new Syncfusion.EJ2.Maps.MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } + }; + + var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings + { + Enable = true, Fill = "blue", Opacity = 0.7, + Border = new MapsBorder + { + Color ="green", + Opacity = 0.7, + Width=2 + } + }; + + var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings + { + Enable = true, + Fill = "violet", + EnableMultiSelect = false, + Opacity = 0.8, + Border = new MapsBorder + { + Color = "cyan", + Opacity = 1, + Width = 7 + } + }; +} + +@(Html.EJS().Maps("maps").Layers(layers => { layers.PolygonSettings(polygon => { polygon.Polygons(polygons).HighlightSettings(highlight).SelectionSettings(selection); }).ShapeData(ViewBag.world_map).Add(); }).Render()) \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper new file mode 100644 index 0000000000..84e3296b3a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper @@ -0,0 +1,82 @@ +@using Syncfusion.EJ2.Maps + +@{ + var data = new[] + { + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, + new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, + new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, + new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, + new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, + new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, + new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, + new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, + new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, + new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, + new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, + new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, + new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, + new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, + new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, + new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, + new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, + new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, + new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, + new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, + new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, + new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, + new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, + new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, + new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, + new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, + new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, + new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, + new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, + new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, + new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, + new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, + new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } + }; + + + var polygons = new List + { + new MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } + }; + + var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings + { + Enable = true, Fill = "blue", Opacity = 0.7, + Border = new MapsBorder + { + Color ="green", + Opacity = 0.7, + Width=2 + } + }; + + var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings + { + Enable = true, + Fill = "violet", + EnableMultiSelect = false, + Opacity = 0.8, + Border = new MapsBorder + { + Color = "cyan", + Opacity = 1, + Width = 7 + } + }; + +} + + + + + + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif b/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc6c4c3ec7990357cbf3cafeb9af710970aaba63 GIT binary patch literal 45625 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 A1ONa4 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif b/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif new file mode 100644 index 0000000000000000000000000000000000000000..105e6384ec6678da44f2a59928150276fd092a8a GIT binary patch literal 40439 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 literal 0 HcmV?d00001 From c33edf82a4d1c2d6e83b4ffaa4bb51c8ed7d0d8e Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Tue, 19 Mar 2024 21:32:01 +0530 Subject: [PATCH 026/134] 869993: committed front matter errors. --- ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md | 2 +- ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md | 2 +- ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md | 2 +- ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md index 30446ce850..98acfa8cf5 100644 --- a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md +++ b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/animation.md @@ -1,6 +1,6 @@ --- layout: post -title: Animation in ##Platform_Name## Linear Gauge component +title: Animation in the Syncfusion ##Platform_Name## Linear Gauge component description: Learn here all about animation in the Syncfusion ##Platform_Name## Linear Gauge component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Linear Gauge diff --git a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md index a7f2f270ba..5f9d18e225 100644 --- a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md +++ b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.MVC/pointers.md @@ -1,6 +1,6 @@ --- layout: post -title: Pointers in ##Platform_Name## Linear Gauge Component +title: Pointers in Syncfusion ##Platform_Name## Linear Gauge Component description: Learn here all about Pointers in Syncfusion ##Platform_Name## Linear Gauge component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Pointers diff --git a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md index deb43acf3f..2885381dca 100644 --- a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md +++ b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/animation.md @@ -1,6 +1,6 @@ --- layout: post -title: Animation in ##Platform_Name## Linear Gauge component +title: Animation in the Syncfusion ##Platform_Name## Linear Gauge component description: Learn here all about animation in the Syncfusion ##Platform_Name## Linear Gauge component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Animation diff --git a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md index 39f9886eda..259b233a76 100644 --- a/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md +++ b/ej2-asp-core-mvc/linear-gauge/EJ2_ASP.NETCORE/pointers.md @@ -1,6 +1,6 @@ --- layout: post -title: Pointers in ##Platform_Name## Linear Gauge Component +title: Pointers in Syncfusion ##Platform_Name## Linear Gauge Component description: Learn here all about Pointers in Syncfusion ##Platform_Name## Linear Gauge component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Pointers From b43cce0f8c4d4acb15d7d0aec0738f2d05949c14 Mon Sep 17 00:00:00 2001 From: sabari-senthamaraikannan <93366915+sabari-senthamaraikannan@users.noreply.github.com> Date: Tue, 19 Mar 2024 23:40:32 +0530 Subject: [PATCH 027/134] 869993: Update polygon --- ej2-asp-core-mvc/maps/polygon.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/maps/polygon.md b/ej2-asp-core-mvc/maps/polygon.md index 21932a22cd..9949fc7727 100644 --- a/ej2-asp-core-mvc/maps/polygon.md +++ b/ej2-asp-core-mvc/maps/polygon.md @@ -113,7 +113,7 @@ The following properties are available in the [TooltipSettings](https://help.syn {% endtabs %} {% endif %} -![Maps with polygon shape tooltip](./images/Polygon/polygon-shape-tooltip.png) +![Maps with tooltip for polygon shape](./images/Polygon/polygon-shape-tooltip.png) ### Tooltip template @@ -144,4 +144,4 @@ Any HTML element can be rendered in the tooltip of the polygon shapes using the {% endtabs %} {% endif %} -![Maps with polygon shape tooltip template](./images/Polygon/polygon-shape-tooltip-template.png) \ No newline at end of file +![Maps with tooltip template for polygon shape](./images/Polygon/polygon-shape-tooltip-template.png) From fd96363ee0aa0b511c892e2ead0b16ddaf8246a9 Mon Sep 17 00:00:00 2001 From: Balaji-SF4331 Date: Wed, 20 Mar 2024 09:48:07 +0530 Subject: [PATCH 028/134] 875578: Map API link to the timeline property. --- .../timeline/EJ2_ASP.MVC/align.md | 129 +++++++++++++ .../timeline/{ => EJ2_ASP.MVC}/events.md | 4 +- .../timeline/EJ2_ASP.MVC/items.md | 178 ++++++++++++++++++ .../timeline/EJ2_ASP.MVC/orientations.md | 71 +++++++ .../timeline/{ => EJ2_ASP.MVC}/reverse.md | 2 +- .../timeline/{ => EJ2_ASP.MVC}/template.md | 2 +- .../timeline/{ => EJ2_ASP.NETCORE}/align.md | 10 +- .../timeline/EJ2_ASP.NETCORE/events.md | 67 +++++++ .../timeline/{ => EJ2_ASP.NETCORE}/items.md | 14 +- .../{ => EJ2_ASP.NETCORE}/orientations.md | 6 +- .../timeline/EJ2_ASP.NETCORE/reverse.md | 38 ++++ .../timeline/EJ2_ASP.NETCORE/template.md | 45 +++++ ej2-asp-core-toc.html | 2 +- ej2-asp-mvc-toc.html | 2 +- 14 files changed, 549 insertions(+), 21 deletions(-) create mode 100644 ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/align.md rename ej2-asp-core-mvc/timeline/{ => EJ2_ASP.MVC}/events.md (81%) create mode 100644 ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md create mode 100644 ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/orientations.md rename ej2-asp-core-mvc/timeline/{ => EJ2_ASP.MVC}/reverse.md (82%) rename ej2-asp-core-mvc/timeline/{ => EJ2_ASP.MVC}/template.md (84%) rename ej2-asp-core-mvc/timeline/{ => EJ2_ASP.NETCORE}/align.md (72%) create mode 100644 ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/events.md rename ej2-asp-core-mvc/timeline/{ => EJ2_ASP.NETCORE}/items.md (73%) rename ej2-asp-core-mvc/timeline/{ => EJ2_ASP.NETCORE}/orientations.md (78%) create mode 100644 ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/reverse.md create mode 100644 ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/template.md diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/align.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/align.md new file mode 100644 index 0000000000..45820dd21a --- /dev/null +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/align.md @@ -0,0 +1,129 @@ +--- +layout: post +title: Alignment in ##Platform_Name## Timeline Control | Syncfusion +description: Checkout and learn about Alignment in Syncfusion ##Platform_Name## Timeline control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Alignment +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Alignment in ##Platform_Name## Timeline control + +You can display the Timeline content `Before`, `After`, `Alternate` and `AlternateReverse` by using the [align](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Align) property. The oppositeContent will be displayed parallel to the content when configured in the [TimelineItem](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineItem.html). + +## Before + +In [Before](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineAlign.html) alignment, for `horizontal` orientation the item content is placed at the top and oppositeContent at the bottom whereas in `vertical`, the content to the left and oppositeContent to the right. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/align/before/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/align/before/before.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/align/before/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/align/before/before.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Before Alignment](images/align-before.png) + +## After + +In [After](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineAlign.html) alignment, for `horizontal` orientation the item content is placed at the bottom and oppositeContent at the top whereas in `vertical`, the content to the right and oppositeContent to the left. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/align/after/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/align/after/after.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/align/after/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/align/after/after.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![After Alignment](images/align-after.png) + +## Alternate + +In [Alternate](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineAlign.html) alignment, the item content are arranged alternatively regardless of the Timeline orientation. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/align/alternate/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/align/alternate/alternate.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/align/alternate/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/align/alternate/alternate.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Alternate Alignment](images/align-alternate.png) + +## Alternate reverse + +In [AlternateReverse](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineAlign.html) alignment, the item content are arranged in reverse alternate regardless of the Timeline orientation. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/align/alternate-reverse/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/align/alternate-reverse/alternatereverse.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/align/alternate-reverse/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/align/alternate-reverse/alternatereverse.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![AlternateReverse Alignment](images/align-alternate-reverse.png) diff --git a/ej2-asp-core-mvc/timeline/events.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/events.md similarity index 81% rename from ej2-asp-core-mvc/timeline/events.md rename to ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/events.md index bf8e66fbb6..a38f79529b 100644 --- a/ej2-asp-core-mvc/timeline/events.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/events.md @@ -14,7 +14,7 @@ This section describes the Timeline events that will be triggered when an approp ## created -The Timeline control triggers the `created` event when the control rendering is completed. +The Timeline control triggers the [created](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Created) event when the control rendering is completed. {% if page.publishingplatform == "aspnet-core" %} @@ -41,7 +41,7 @@ The Timeline control triggers the `created` event when the control rendering is ## beforeItemRender -The Timeline control triggers the `beforeItemRender` event before rendering each item. +The Timeline control triggers the [beforeItemRender](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_BeforeItemRender) event before rendering each item. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md new file mode 100644 index 0000000000..3c07fffcfa --- /dev/null +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md @@ -0,0 +1,178 @@ + --- +layout: post +title: Items in ##Platform_Name## Timeline Control | Syncfusion +description: Checkout and learn about Items in Syncfusion ##Platform_Name## Timeline control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Items +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Items in ##Platform_Name## Timeline control + +The Timeline items can be added by using the [items](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Items) property. Each item can be configured with options such as `content`, `oppositeContent`, `dotCss`, `disabled` and `cssClass`. + +## Adding content + +You can define the item content using the [content](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_Content) property. + +### String content + +You can define string content for the Timeline items. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/content/string-based/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/content/string-based/stringbased.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/content/string-based/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/content/string-based/stringbased.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![String-based content](images/content.png) + +### Templated content + +You can specify the [Template Content](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_ContentTemplate) content for the items, by using the selector for an element in HTML. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/content/template-based/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/content/template-based/templatebased.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/content/template-based/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/content/template-based/templatebased.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Templated content](images/content-template.png) + +## Adding opposite content + +You can add additional information to each Timeline item, by using the [oppositeContent](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_OppositeContent) property which is positioned opposite to the item content. Similar to the `content` property you can define `string` or `function` as contents to the oppositeContent. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/opposite-content/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/opposite-content/oppositecontent.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/opposite-content/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/opposite-content/oppositecontent.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![opposite content](images/opposite-content.png) + +## Dot item + +You can define CSS class to set icons, background colors, or images to personalize the appearance of dots associated with each Timeline item by using the [dotCss](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_DotCss) property. + +### Adding icons + +You can define the CSS class to show the icon for each item using the `dotCss` property. + +### Adding images + +You can include images for the Timeline items using the `dotCss` property, by setting the CSS `background-image` property. + +### Adding text + +You can display text for the Timeline items using the `dotCss` property, by adding text to the CSS `content` property. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/dot-item/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/dot-item/dotitem.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/dot-item/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/dot-item/dotitem.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Dot items](images/dot-item.png) + +## Disabling items + +You can use the [disabled](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_Disabled) property to disable an item when set to `true`. By default, the value is `false`. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/disabled/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/disabled/disabled.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/items/disabled/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/items/disabled/disabled.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Disabling items](images/disabled.png) + +## CSS class + +The [cssClass](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_CssClass) property allows you to define a custom class to modify the appearance of the Timeline item. \ No newline at end of file diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/orientations.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/orientations.md new file mode 100644 index 0000000000..86b2645857 --- /dev/null +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/orientations.md @@ -0,0 +1,71 @@ +--- +layout: post +title: Orientations in ##Platform_Name## Timeline Control | Syncfusion +description: Checkout and learn about Orientations in Syncfusion ##Platform_Name## Timeline control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Orientations +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Orientations in ##Platform_Name## Timeline control + +The Timeline control supports the display of items in both horizontal and vertical direction by using the [orientation](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Orientation) property. + +## Vertical + +You can display the items one below the other vertically by setting the [orientation](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Orientation) property to `Vertical`. By default, the items are displayed in vertical orientation. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/orientations/vertical/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/orientations/vertical/vertical.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/orientations/vertical/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/orientations/vertical/vertical.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Vertical](images/vertical.png) + +## Horizontal + +In horizontal orientation, the items are displayed in a side-by-side manner by setting the [orientation](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Orientation) property to `Horizontal`. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/orientations/horizontal/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/orientations/horizontal/horizontal.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/orientations/horizontal/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/orientations/horizontal/horizontal.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Horizontal](images/horizontal.png) diff --git a/ej2-asp-core-mvc/timeline/reverse.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/reverse.md similarity index 82% rename from ej2-asp-core-mvc/timeline/reverse.md rename to ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/reverse.md index 57dbae2ec2..fca7ab781c 100644 --- a/ej2-asp-core-mvc/timeline/reverse.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/reverse.md @@ -10,7 +10,7 @@ documentation: ug # Reverse in ##Platform_Name## Timeline control -You can display the Timeline items in reverse order, for different alignments by using the `reverse` property which provides adaptability and improves user interaction. +You can display the Timeline items in reverse order, for different alignments by using the [reverse](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Reverse) property which provides adaptability and improves user interaction. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/timeline/template.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/template.md similarity index 84% rename from ej2-asp-core-mvc/timeline/template.md rename to ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/template.md index e11e95d6f6..72d68f8851 100644 --- a/ej2-asp-core-mvc/timeline/template.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/template.md @@ -10,7 +10,7 @@ documentation: ug # Template in ##Platform_Name## Timeline control -The Timeline control allows you to customize the appearance for each item by using the `template` property to modify the dot items, templated contents, progress bar styling and more. +The Timeline control allows you to customize the appearance for each item by using the [template](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Template) property to modify the dot items, templated contents, progress bar styling and more. The `template` context receives the following information: diff --git a/ej2-asp-core-mvc/timeline/align.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/align.md similarity index 72% rename from ej2-asp-core-mvc/timeline/align.md rename to ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/align.md index fb59177a33..d7923722c2 100644 --- a/ej2-asp-core-mvc/timeline/align.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/align.md @@ -10,11 +10,11 @@ documentation: ug # Alignment in ##Platform_Name## Timeline control -You can display the Timeline content `Before`, `After`, `Alternate` and `AlternateReverse` by using the `align`property. The oppositeContent will be displayed parallel to the content when configured in the `TimelineItemModel`. +You can display the Timeline content `Before`, `After`, `Alternate` and `AlternateReverse` by using the [align](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Align) property. The oppositeContent will be displayed parallel to the content when configured. ## Before -In `Before` alignment, for `horizontal` orientation the item content is placed at the top and oppositeContent at the bottom whereas in `vertical`, the content to the left and oppositeContent to the right. +In [Before](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineAlign.html) alignment, for `horizontal` orientation the item content is placed at the top and oppositeContent at the bottom whereas in `vertical`, the content to the left and oppositeContent to the right. {% if page.publishingplatform == "aspnet-core" %} @@ -43,7 +43,7 @@ In `Before` alignment, for `horizontal` orientation the item content is placed a ## After -In `After` alignment, for `horizontal` orientation the item content is placed at the bottom and oppositeContent at the top whereas in `vertical`, the content to the right and oppositeContent to the left. +In [After](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineAlign.html) alignment, for `horizontal` orientation the item content is placed at the bottom and oppositeContent at the top whereas in `vertical`, the content to the right and oppositeContent to the left. {% if page.publishingplatform == "aspnet-core" %} @@ -72,7 +72,7 @@ In `After` alignment, for `horizontal` orientation the item content is placed at ## Alternate -In `Alternate` alignment, the item content are arranged alternatively regardless of the Timeline orientation. +In [Alternate](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineAlign.html) alignment, the item content are arranged alternatively regardless of the Timeline orientation. {% if page.publishingplatform == "aspnet-core" %} @@ -101,7 +101,7 @@ In `Alternate` alignment, the item content are arranged alternatively regardless ## Alternate reverse -In `AlternateReverse` alignment, the item content are arranged in reverse alternate regardless of the Timeline orientation. +In [AlternateReverse](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineAlign.html) alignment, the item content are arranged in reverse alternate regardless of the Timeline orientation. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/events.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/events.md new file mode 100644 index 0000000000..e1922bf837 --- /dev/null +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/events.md @@ -0,0 +1,67 @@ +--- +layout: post +title: Events in ##Platform_Name## Timeline Control | Syncfusion +description: Checkout and learn about Events in Syncfusion ##Platform_Name## Timeline control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Events +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Events in ##Platform_Name## Timeline control + +This section describes the Timeline events that will be triggered when an appropriate actions are performed. The following events are available in the Timeline control. + +## created + +The Timeline control triggers the [created](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Created) event when the control rendering is completed. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/events/created/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/events/created/created.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/events/created/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/events/created/created.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +## beforeItemRender + +The Timeline control triggers the [beforeItemRender](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_BeforeItemRender) event before rendering each item. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/events/beforeItemRender/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/events/beforeItemRender/beforeItemRender.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/events/beforeItemRender/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/events/beforeItemRender/beforeItemRender.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} diff --git a/ej2-asp-core-mvc/timeline/items.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md similarity index 73% rename from ej2-asp-core-mvc/timeline/items.md rename to ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md index 7c83961edf..a3e0db4179 100644 --- a/ej2-asp-core-mvc/timeline/items.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md @@ -10,11 +10,11 @@ documentation: ug # Items in ##Platform_Name## Timeline control -The Timeline items can be added by using the `items` property. Each item can be configured with options such as `content`, `oppositeContent`, `dotCss`, `disabled` and `cssClass`. +The Timeline items can be added by using the [items](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Items) property. Each item can be configured with options such as `content`, `oppositeContent`, `dotCss`, `disabled` and `cssClass`. ## Adding content -You can define the item content using the `content` property. +You can define the item content using the [content](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_Content) property. ### String content @@ -47,7 +47,7 @@ You can define string content for the Timeline items. ### Templated content -You can specify the template content for the items, by using the selector for an element in HTML. +You can specify the [Template Content](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_ContentTemplate) for the items, by using the selector for an element in HTML. {% if page.publishingplatform == "aspnet-core" %} @@ -76,7 +76,7 @@ You can specify the template content for the items, by using the selector for an ## Adding opposite content -You can add additional information to each Timeline item, by using the `oppositeContent` property which is positioned opposite to the item content. Similar to the `content` property you can define `string` or `function` as contents to the oppositeContent. +You can add additional information to each Timeline item, by using the [oppositeContent](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_OppositeContent) property which is positioned opposite to the item content. Similar to the `content` property you can define `string` or `function` as contents to the oppositeContent. {% if page.publishingplatform == "aspnet-core" %} @@ -105,7 +105,7 @@ You can add additional information to each Timeline item, by using the `opposite ## Dot item -You can define CSS class to set icons, background colors, or images to personalize the appearance of dots associated with each Timeline item by using the `dotCss` property. +You can define CSS class to set icons, background colors, or images to personalize the appearance of dots associated with each Timeline item by using the [dotCss](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_DotCss) property. ### Adding icons @@ -146,7 +146,7 @@ You can display text for the Timeline items using the `dotCss` property, by addi ## Disabling items -You can use the `disabled` property to disable an item when set to `true`. By default, the value is `false`. +You can use the [disabled](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_Disabled) property to disable an item when set to `true`. By default, the value is `false`. {% if page.publishingplatform == "aspnet-core" %} @@ -175,4 +175,4 @@ You can use the `disabled` property to disable an item when set to `true`. By de ## CSS class -The `cssClass` property allows you to define a custom class to modify the appearance of the Timeline item. \ No newline at end of file +The [cssClass](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.TimelineItem.html#Syncfusion_EJ2_Layouts_TimelineItem_CssClass) property allows you to define a custom class to modify the appearance of the Timeline item. \ No newline at end of file diff --git a/ej2-asp-core-mvc/timeline/orientations.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/orientations.md similarity index 78% rename from ej2-asp-core-mvc/timeline/orientations.md rename to ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/orientations.md index 5b140d7834..95008bef95 100644 --- a/ej2-asp-core-mvc/timeline/orientations.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/orientations.md @@ -10,11 +10,11 @@ documentation: ug # Orientations in ##Platform_Name## Timeline control -The Timeline control supports the display of items in both horizontal and vertical direction by using the `orientation` property. +The Timeline control supports the display of items in both horizontal and vertical direction by using the [orientation](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Orientation) property. ## Vertical -You can display the items one below the other vertically by setting the `orientation` property to `Vertical`. By default, the items are displayed in vertical orientation. +You can display the items one below the other vertically by setting the [orientation](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Orientation) property to `Vertical`. By default, the items are displayed in vertical orientation. {% if page.publishingplatform == "aspnet-core" %} @@ -43,7 +43,7 @@ You can display the items one below the other vertically by setting the `orienta ## Horizontal -In horizontal orientation, the items are displayed in a side-by-side manner by setting the `orientation` property to `Horizontal`. +In horizontal orientation, the items are displayed in a side-by-side manner by setting the [orientation](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Orientation) property to `Horizontal`. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/reverse.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/reverse.md new file mode 100644 index 0000000000..e16defa88f --- /dev/null +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/reverse.md @@ -0,0 +1,38 @@ +--- +layout: post +title: Reverse in ##Platform_Name## Timeline Control | Syncfusion +description: Checkout and learn about Reverse in Syncfusion ##Platform_Name## Timeline control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Reverse +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Reverse in ##Platform_Name## Timeline control + +You can display the Timeline items in reverse order, for different alignments by using the [reverse](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Reverse) property which provides adaptability and improves user interaction. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/reverse/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/reverse/reverse.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/reverse/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/reverse/reverse.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Reverse](images/reverse.png) diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/template.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/template.md new file mode 100644 index 0000000000..5b3d9a11d6 --- /dev/null +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/template.md @@ -0,0 +1,45 @@ +--- +layout: post +title: Template in ##Platform_Name## Timeline Control | Syncfusion +description: Checkout and learn about Template in Syncfusion ##Platform_Name## Timeline control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Template +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Template in ##Platform_Name## Timeline control + +The Timeline control allows you to customize the appearance for each item by using the [template](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Template) property to modify the dot items, templated contents, progress bar styling and more. + +The `template` context receives the following information: + +| Type | Purpose | +| --- | --- | +| `item` | Indicates the current data of the Timeline item. | +| `itemIndex` | Indicates the current index of the Timeline item. | + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/timeline/template/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/template/template.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/timeline/template/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Separator.cs" %} +{% include code-snippet/timeline/template/template.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +![Template](images/template.png) diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 1c987ef44f..702adfbb51 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2618,7 +2618,7 @@

      • Template
      • Customization
      • Accessibility
      • -
      • Events
      • +
      • Events
    • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 63b1cd9b40..c2b4c99429 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -2581,7 +2581,7 @@
    • Template
    • Customization
    • Accessibility
    • -
    • Events
    • +
    • Events
  • From f94206e78b8d8bed193e6863cba5a479beb3de22 Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Wed, 20 Mar 2024 10:20:22 +0530 Subject: [PATCH 029/134] 875662: commit --- .../pdfviewer/EJ2_ASP.MVC/accessibility.md | 128 +++++- .../EJ2_ASP.MVC/how-to/custom-context-menu.md | 393 ++++++++++++++++++ .../EJ2_ASP.MVC/how-to/open-bookmark.md | 45 ++ .../EJ2_ASP.MVC/how-to/organize-pdf.md | 51 +++ .../pagerenderstarted-pagerendercompleted.md | 65 +++ .../EJ2_ASP.NETCORE/accessibility.md | 138 +++++- .../how-to/custom-context-menu.md | 371 +++++++++++++++++ .../EJ2_ASP.NETCORE/how-to/open-bookmark.md | 105 +++++ .../EJ2_ASP.NETCORE/how-to/organize-pdf.md | 51 +++ .../pagerenderstarted-pagerendercompleted.md | 83 ++++ ej2-asp-core-toc.html | 4 + ej2-asp-mvc-toc.html | 4 + 12 files changed, 1428 insertions(+), 10 deletions(-) create mode 100644 ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/custom-context-menu.md create mode 100644 ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md create mode 100644 ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/organize-pdf.md create mode 100644 ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md create mode 100644 ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md create mode 100644 ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/open-bookmark.md create mode 100644 ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/organize-pdf.md create mode 100644 ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/pagerenderstarted-pagerendercompleted.md diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/accessibility.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/accessibility.md index 7f4a07d589..196a8b3b98 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/accessibility.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/accessibility.md @@ -65,10 +65,13 @@ The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/ | **Press (Windows)** |**Press (Macintosh)** | **To do this** | | --- | --- | --- | |||**Shortcuts for page navigation**| -| Home | Function + Left arrow |Navigate to the first page | -| End |Function + Right arrow |Navigate to the last page | -|Up Arrow |Up Arrow |Navigate to the previous page| -| Down Arrow | Down Arrow | Navigate to the next page | +| CONTROL + Left Arrow (or) CONTROL + Up Arrow | COMMAND + Left Arrow (or) COMMAND + Up Arrow |Navigate to the first page | +| CONTROL + Right Arrow (or) CONTROL + Down Arrow |COMMAND + Right Arrow (or) COMMAND + Down Arrow |Navigate to the last page | +|Left Arrow | Left Arrow (or) Shift + Space |Navigate to the previous page| +| Right Arrow | Right Arrow (or) Space | Navigate to the next page | +| CONTROL + G | COMMAND + G | Go To The Page| +|Up Arrow |Up Arrow |Scroll up| +| Down Arrow | Down Arrow | Scroll down| |||**Shortcuts for Zooming**| |CONTROL + = |COMMAND + = | Perform zoom-in operation | | CONTROL + - | COMMAND + - | Perform zoom-out operation | @@ -82,8 +85,123 @@ The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/ |||**Shortcuts for the general operation**| | CONTROL + Z | CONTROL + Z |Undo the action| |CONTROL + Y |CONTROL + Y |Redo the action| -| CONTROL + P | CONTROL + P |Print the document| +| CONTROL + P | COMMAND + P |Print the document| |Delete |Delete |Delete the annotations and form fields| +|CONTROL + Shift + A |COMMAND + Shift + A |Toggle Annotation Toolbar| +|CONTROL + Alt + 0 |COMMAND + Option + 0 |Show Command panel| +|CONTROL + Alt + 2 |COMMAND + Option + 2 |Show Bookmarks| +|CONTROL + Alt + 1 |COMMAND + Option + 1 |Show Thumbnails| +|CONTROL + S |COMMAND + S |Download| +|Shift + H |Shift + H |Enable pan mode| +|Shift + V |Shift + V |Enable text selection mode| + +The current implementation of our PDF Viewer includes keyboard shortcuts for various functions like scrolling, zooming, text search, printing, and annotation deletion. + +To enhance user experience, we're adding additional keyboard shortcuts for actions such as navigating between pages, accessing specific pages, toggling annotation tools, and displaying PDF elements like outlines, annotations, bookmarks, and thumbnails. + +To support this, we're introducing a new class called **commandManager**, which handles custom commands triggered by specific key gestures. These custom commands will be defined by users and executed accordingly. + +The **commandManager** will have a parameter called Commands, which will hold the collection of custom keyboard commands specified by users. Each custom command will be represented by a KeyboardCommand class, containing the `command name` and associated `keyboard combination`. + +Additionally, we're introducing the **keyboardCustomCommands** parameter for the CommandManager, which will utilize the EventCallback to handle keyboard events and trigger appropriate methods when specific key combinations are pressed. + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + +
    + @Html.EJS().PdfViewer("pdfviewer").EnablePrint(true).DocumentLoad("print").DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").CommandManager("commandManager").Render() +
    + + + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + +
    + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/api/PdfViewer/")).EnablePrint(true).DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").CommandManager("commandManager").Render() +
    + + + +{% endhighlight %} +{% endtabs %} + +Each `keyboardCommand` object consists of a name property, specifying the `name` of the `custom command`, and a `gesture property`, defining the key gesture associated with the command. + +For example, the first command named `customCopy` is associated with the **G** key and requires both the **Shift** and **Alt** modifier keys to be pressed simultaneously. + +Additionally, there's an explanation of the key modifiers used in the gestures: + +* Ctrl corresponds to the Control key, represented by the value `1`. +* Alt corresponds to the Alt key, represented by the value `2`. +* Shift corresponds to the Shift key, represented by the value `4`. +* Meta corresponds to the Command key on macOS or the Windows key on Windows, represented by the value `8`. + +This setup allows users to perform custom actions within the PDF viewer by pressing specific key combinations, enhancing the user experience and providing more efficient navigation and interaction options. ## Ensuring accessibility diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/custom-context-menu.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/custom-context-menu.md new file mode 100644 index 0000000000..41920b774e --- /dev/null +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/custom-context-menu.md @@ -0,0 +1,393 @@ +--- +layout: post +title: Customize context menu with EJ2 ASP.NET MVC PDF Viewer | Syncfusion +description: Learn here all about Customize context menu in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: PDF Viewer +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Customize context menu + +PDF Viewer allows you to add custom option in context menu. It can be achieved by using the `addCustomMenu()` method and custom action is defined using the `customContextMenuSelect()`method. + +### Add Custom Option + +The following code shows how to add custom option in context menu. + +``` + +``` + +### Customize custom option in context menu + +The PDF Viewer feature enables customization of custom options and the ability to toggle the display of the default context menu. When the addCustomMenu parameter is set to `true`, the default menu is hidden; conversely, when it is set to `false`, the default menu items are displayed. + +``` + +``` + +#### Customize added context menu items + +The following code shows how to hide/show added custom option in context menu using the `customContextMenuBeforeOpen()` method. + +``` + +``` + +The following is the output of custom context menu with customization. + +``` + +@using Syncfusion.EJ2 + +@section ControlsSection{ +
    +
    + +
    + +
    +
    + @Html.EJS().Switch("checked").Checked(true).Change("change").CssClass("buttonSwitch").Render() +
    +
    + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").ResourceUrl("https://cdn.syncfusion.com/ej2/23.2.6/dist/ej2-pdfviewer-lib").DocumentLoad("documentLoad").CustomContextMenuSelect("customContextMenuSelect").CustomContextMenuBeforeOpen("customContextMenuBeforeOpen").Render() +
    +} + + +``` \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md new file mode 100644 index 0000000000..0a2abfeaa0 --- /dev/null +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md @@ -0,0 +1,45 @@ +--- +layout: post +title: Open and Close Bookmark in EJ2 ASP.NET MVC PDF Viewer | Syncfusion +description: Learn here all about Open and Close Bookmark in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: PDF Viewer +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Open and Close Bookmark pane programmatically + +The PDF Viewer library allows you to open the Bookmark pane programmatically using the **openBookmarkPane()** method. + +The following steps are used to open the Bookmark. + +**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/aspnetmvc/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample. + +**Step 2:** Insert the following code snippet to implement the functionality for opening the Bookmark pane: + +```html + + + +``` + +Similarly, to close the Bookmark pane programmatically, employ the following code snippet: + +```html + + + +``` \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/organize-pdf.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/organize-pdf.md new file mode 100644 index 0000000000..d7f955acc4 --- /dev/null +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/organize-pdf.md @@ -0,0 +1,51 @@ +--- +layout: post +title: Organize Pages Feature with EJ2 ASP.NET MVC PDF Viewer | Syncfusion +description: Learn here all about Organize Pages Feature in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: PDF Viewer +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Organize Pages Feature in ASP.NET MVC PDF Viewer control + +## Introduction + +Welcome to the User Guide for the Organize Pages feature in JS2 PDF Viewer. This powerful feature allows you to manage your PDF documents efficiently by organizing pages seamlessly. Whether you need to add new pages, remove unnecessary ones, or adjust page orientation, this feature has got you covered. + +## Getting Started + +To access the Organize Pages feature, simply open the PDF document in the JS2 PDF Viewer and navigate to the toolbar. Look for the `Organize Pages` option to begin utilizing these capabilities. + +## Key Functionalities + +- **Add New Pages:** Easily integrate additional content by adding new pages to your document. Simply select the option to insert new pages and customize them as needed. + +- **Remove Pages:** Streamline your document management process by removing unnecessary pages with ease. Select the pages you wish to delete and confirm to remove them from the document. + +- **Rotate Pages:** Resolve orientation issues by rotating pages clockwise or counterclockwise as required. This feature ensures that your document displays correctly, maintaining clarity and readability. + +- **Select All Pages:** Make uniform adjustments and modifications by conveniently selecting all pages at once. This allows for efficient editing and formatting across the entire document. + +- **Real-Time Updates:** Experience instant updates as any changes made to the page organization are instantly reflected within the PDF Viewer. Simply click the **Save** button to ensure that your modifications are preserved. + +- **Save As Feature:** Preserve your edits by utilizing the **Save As** feature. This allows you to download the modified version of the PDF document for future reference, ensuring that your changes are stored securely. + +### API's supported + +**enableOrganizePdf:** This API enables or disables the page organizer feature in the PDF Viewer. By default, it is set to `true`, indicating that the page organizer is enabled. + +**isPageOrganizerOpen:** This API determines whether the page organizer dialog will be displayed automatically when a document is loaded into the PDF Viewer. By default, it is set to `false`, meaning the dialog is not displayed initially. + +**pageOrganizerSettings:** This API allows control over various page management functionalities within the PDF Viewer. It includes options to enable or disable actions such as deleting, inserting, rotating, and moving pages. By default, all these actions are enabled. + +**showPageOrganizerTool:** This API controls the visibility of the page organizer tool within the PDF Viewer. If set to `false`, the tool is hidden by default. + +**openPageOrganizer:** This API opens the page organizer dialog within the PDF Viewer, providing access to manage PDF pages. + +**closePageOrganizer:** This API closes the currently open page organizer dialog within the PDF Viewer, if it is present. It allows users to dismiss the dialog when done with page organization tasks. + +#### Conclusion + +With the Organize Pages feature in JS2 PDF Viewer, managing your PDF documents has never been easier. Whether you're adding new content, adjusting page orientation, or removing unnecessary pages, this feature provides the tools you need to streamline your document management workflow. Explore these capabilities today and take control of your PDF documents with ease! diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md new file mode 100644 index 0000000000..9afbbf88e5 --- /dev/null +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md @@ -0,0 +1,65 @@ +--- +layout: post +title: Rendering event in EJ2 ASP.NET MVC PDF Viewer | Syncfusion +description: Learn here all about Rendering event in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: PDF Viewer +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# PageRenderInitiate and PageRenderComplete event + +In Syncfusion PDF Viewer, `pageRenderInitiate` and `pageRenderComplete` actions are events that occur during the rendering process of PDF documents. + +**pageRenderInitiate** + +The `pageRenderInitiate` event is triggered when the rendering of a page in the PDF document begins. This event provides developers with an opportunity to perform any necessary initialization or setup before the rendering of the page content commences. It can be utilized to prepare resources, set up rendering parameters, or execute any other actions required before the page rendering process starts. + +**pageRenderComplete** + +The `pageRenderComplete` event is triggered when the rendering of a page in the PDF document is completed. This event allows developers to perform cleanup tasks or finalize rendering-related processes after the rendering of the page content finishes. It can be used to release resources, finalize rendering settings, or handle any post-rendering tasks necessary for the application. + + +{% tabs %} +{% highlight html tabtitle="Standalone" %} +\ +
    + @Html.EJS().PdfViewer("pdfviewer").DocumentLoad("download").EnableDownload(true).DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").pageRenderInitiate("pageRenderInitiate").pageRenderComplete("pageRenderComplete").Render() +
    + + + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + +
    + @Html.EJS().PdfViewer("pdfviewer").DocumentLoad("download")..ServiceUrl(VirtualPathUtility.ToAbsolute("~/api/PdfViewer/")).EnableDownload(true).DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").pageRenderInitiate("pageRenderInitiate").pageRenderComplete("pageRenderComplete").Render() +
    + + + +{% endhighlight %} +{% endtabs %} + +The provided code demonstrates how to subscribe to the `pageRenderInitiate` and `pageRenderComplete` events in the Syncfusion PDF Viewer component. \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/accessibility.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/accessibility.md index b6a9f6488d..f1d36d675a 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/accessibility.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/accessibility.md @@ -64,10 +64,13 @@ The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/ | **Press (Windows)** |**Press (Macintosh)** | **To do this** | | --- | --- | --- | |||**Shortcuts for page navigation**| -| Home | Function + Left arrow |Navigate to the first page | -| End |Function + Right arrow |Navigate to the last page | -|Up Arrow |Up Arrow |Navigate to the previous page| -| Down Arrow | Down Arrow | Navigate to the next page | +| CONTROL + Left Arrow (or) CONTROL + Up Arrow | COMMAND + Left Arrow (or) COMMAND + Up Arrow |Navigate to the first page | +| CONTROL + Right Arrow (or) CONTROL + Down Arrow |COMMAND + Right Arrow (or) COMMAND + Down Arrow |Navigate to the last page | +|Left Arrow | Left Arrow (or) Shift + Space |Navigate to the previous page| +| Right Arrow | Right Arrow (or) Space | Navigate to the next page | +| CONTROL + G | COMMAND + G | Go To The Page| +|Up Arrow |Up Arrow |Scroll up| +| Down Arrow | Down Arrow | Scroll down| |||**Shortcuts for Zooming**| |CONTROL + = |COMMAND + = | Perform zoom-in operation | | CONTROL + - | COMMAND + - | Perform zoom-out operation | @@ -81,8 +84,133 @@ The PDF Viewer component followed the [keyboard interaction](https://www.w3.org/ |||**Shortcuts for the general operation**| | CONTROL + Z | CONTROL + Z |Undo the action| |CONTROL + Y |CONTROL + Y |Redo the action| -| CONTROL + P | CONTROL + P |Print the document| +| CONTROL + P | COMMAND + P |Print the document| |Delete |Delete |Delete the annotations and form fields| +|CONTROL + Shift + A |COMMAND + Shift + A |Toggle Annotation Toolbar| +|CONTROL + Alt + 0 |COMMAND + Option + 0 |Show Command panel| +|CONTROL + Alt + 2 |COMMAND + Option + 2 |Show Bookmarks| +|CONTROL + Alt + 1 |COMMAND + Option + 1 |Show Thumbnails| +|CONTROL + S |COMMAND + S |Download| +|Shift + H |Shift + H |Enable pan mode| +|Shift + V |Shift + V |Enable text selection mode| + +The current implementation of our PDF Viewer includes keyboard shortcuts for various functions like scrolling, zooming, text search, printing, and annotation deletion. + +To enhance user experience, we're adding additional keyboard shortcuts for actions such as navigating between pages, accessing specific pages, toggling annotation tools, and displaying PDF elements like outlines, annotations, bookmarks, and thumbnails. + +To support this, we're introducing a new class called **commandManager**, which handles custom commands triggered by specific key gestures. These custom commands will be defined by users and executed accordingly. + +The **commandManager** will have a parameter called Commands, which will hold the collection of custom keyboard commands specified by users. Each custom command will be represented by a KeyboardCommand class, containing the `command name` and associated `keyboard combination`. + +Additionally, we're introducing the **keyboardCustomCommands** parameter for the CommandManager, which will utilize the EventCallback to handle keyboard events and trigger appropriate methods when specific key combinations are pressed. + + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + +
    + + +
    + + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + +
    + + +
    + + + +{% endhighlight %} +{% endtabs %} + + +Each `keyboardCommand` object consists of a name property, specifying the `name` of the `custom command`, and a `gesture property`, defining the key gesture associated with the command. + +For example, the first command named `customCopy` is associated with the **G** key and requires both the **Shift** and **Alt** modifier keys to be pressed simultaneously. + +Additionally, there's an explanation of the key modifiers used in the gestures: + +* Ctrl corresponds to the Control key, represented by the value `1`. +* Alt corresponds to the Alt key, represented by the value `2`. +* Shift corresponds to the Shift key, represented by the value `4`. +* Meta corresponds to the Command key on macOS or the Windows key on Windows, represented by the value `8`. + +This setup allows users to perform custom actions within the PDF viewer by pressing specific key combinations, enhancing the user experience and providing more efficient navigation and interaction options. ## Ensuring accessibility diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md new file mode 100644 index 0000000000..6775ddc3c2 --- /dev/null +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md @@ -0,0 +1,371 @@ +--- +layout: post +title: Customize context menu with EJ2 ASP.NET Core PDF Viewer | Syncfusion +description: Learn here all about Customize context menu in ASP.NET Core Pdfviewer component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: PDF Viewer +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Customize context menu in ASP.NET Core PDF Viewer control + +PDF Viewer allows you to add custom option in context menu. It can be achieved by using the `addCustomMenu()` method and custom action is defined using the `customContextMenuSelect()`method. + +### Add Custom Option + +The following code shows how to add custom option in context menu. +``` + +``` + +### Customize custom option in context menu + +The PDF Viewer feature enables customization of custom options and the ability to toggle the display of the default context menu. When the addCustomMenu parameter is set to `true`, the default menu is hidden; conversely, when it is set to `false`, the default menu items are displayed. + +``` + +``` + +#### Customize added context menu items + +The following code shows how to hide/show added custom option in context menu using the `customContextMenuBeforeOpen()` method. + +``` + +``` + +The following is the output of custom context menu with customization. + +``` + + + +``` \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/open-bookmark.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/open-bookmark.md new file mode 100644 index 0000000000..58dddc2192 --- /dev/null +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/open-bookmark.md @@ -0,0 +1,105 @@ +--- +layout: post +title: Open and Close Bookmark in EJ2 ASP.NET Core PDF Viewer | Syncfusion +description: Learn here all about Open and Close Bookmark in ASP.NET Core Pdfviewer component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: PDF Viewer +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Open and Close Bookmark pane programmatically + +The PDF Viewer library allows you to open the Bookmark pane programmatically using the **openBookmarkPane()** method. + +The following steps are used to open the Bookmark. + +**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/aspnetcore/documentation/pdfviewer/getting-started/) to create a simple PDF Viewer sample. + +**Step 2:** Insert the following code snippet to implement the functionality for opening the Bookmark pane: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + +
    + + +
    + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + +
    + + +
    + + + +{% endhighlight %} +{% endtabs %} + +Similarly, to close the Bookmark pane programmatically, employ the following code snippet: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + +
    + + +
    + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + +
    + + +
    + + + +{% endhighlight %} +{% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/organize-pdf.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/organize-pdf.md new file mode 100644 index 0000000000..97199b4ea9 --- /dev/null +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/organize-pdf.md @@ -0,0 +1,51 @@ +--- +layout: post +title: Organize Pages with EJ2 ASP.NET Core PDF Viewer | Syncfusion +description: Learn here all about Organize Pages in ASP.NET Core Pdfviewer component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: PDF Viewer +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Organize Pages Feature in ASP.NET Core PDF Viewer control + +## Introduction + +Welcome to the User Guide for the Organize Pages feature in JS2 PDF Viewer. This powerful feature allows you to manage your PDF documents efficiently by organizing pages seamlessly. Whether you need to add new pages, remove unnecessary ones, or adjust page orientation, this feature has got you covered. + +## Getting Started + +To access the Organize Pages feature, simply open the PDF document in the JS2 PDF Viewer and navigate to the toolbar. Look for the `Organize Pages` option to begin utilizing these capabilities. + +## Key Functionalities + +- **Add New Pages:** Easily integrate additional content by adding new pages to your document. Simply select the option to insert new pages and customize them as needed. + +- **Remove Pages:** Streamline your document management process by removing unnecessary pages with ease. Select the pages you wish to delete and confirm to remove them from the document. + +- **Rotate Pages:** Resolve orientation issues by rotating pages clockwise or counterclockwise as required. This feature ensures that your document displays correctly, maintaining clarity and readability. + +- **Select All Pages:** Make uniform adjustments and modifications by conveniently selecting all pages at once. This allows for efficient editing and formatting across the entire document. + +- **Real-Time Updates:** Experience instant updates as any changes made to the page organization are instantly reflected within the PDF Viewer. Simply click the **Save** button to ensure that your modifications are preserved. + +- **Save As Feature:** Preserve your edits by utilizing the **Save As** feature. This allows you to download the modified version of the PDF document for future reference, ensuring that your changes are stored securely. + +### API's supported + +**enableOrganizePdf:** This API enables or disables the page organizer feature in the PDF Viewer. By default, it is set to `true`, indicating that the page organizer is enabled. + +**isPageOrganizerOpen:** This API determines whether the page organizer dialog will be displayed automatically when a document is loaded into the PDF Viewer. By default, it is set to `false`, meaning the dialog is not displayed initially. + +**pageOrganizerSettings:** This API allows control over various page management functionalities within the PDF Viewer. It includes options to enable or disable actions such as deleting, inserting, rotating, and moving pages. By default, all these actions are enabled. + +**showPageOrganizerTool:** This API controls the visibility of the page organizer tool within the PDF Viewer. If set to `false`, the tool is hidden by default. + +**openPageOrganizer:** This API opens the page organizer dialog within the PDF Viewer, providing access to manage PDF pages. + +**closePageOrganizer:** This API closes the currently open page organizer dialog within the PDF Viewer, if it is present. It allows users to dismiss the dialog when done with page organization tasks. + +#### Conclusion + +With the Organize Pages feature in JS2 PDF Viewer, managing your PDF documents has never been easier. Whether you're adding new content, adjusting page orientation, or removing unnecessary pages, this feature provides the tools you need to streamline your document management workflow. Explore these capabilities today and take control of your PDF documents with ease! \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/pagerenderstarted-pagerendercompleted.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/pagerenderstarted-pagerendercompleted.md new file mode 100644 index 0000000000..6902e7aabc --- /dev/null +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/pagerenderstarted-pagerendercompleted.md @@ -0,0 +1,83 @@ +--- +layout: post +title: Rendering event in EJ2 ASP.NET Core PDF Viewer | Syncfusion +description: Learn here all about Rendering event in ASP.NET Core Pdfviewer component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: PDF Viewer +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# PageRenderInitiate and pageRenderComplete event + +In Syncfusion PDF Viewer, `pageRenderInitiate` and `pageRenderComplete` actions are events that occur during the rendering process of PDF documents. + +**pageRenderInitiate** + +The `pageRenderInitiate` event is triggered when the rendering of a page in the PDF document begins. This event provides developers with an opportunity to perform any necessary initialization or setup before the rendering of the page content commences. It can be utilized to prepare resources, set up rendering parameters, or execute any other actions required before the page rendering process starts. + +**pageRenderComplete** + +The `pageRenderComplete` event is triggered when the rendering of a page in the PDF document is completed. This event allows developers to perform cleanup tasks or finalize rendering-related processes after the rendering of the page content finishes. It can be used to release resources, finalize rendering settings, or handle any post-rendering tasks necessary for the application. + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + +@{ + ViewData["Title"] = "Home page"; +} + +
    + + +
    + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + +@{ + ViewData["Title"] = "Home page"; +} + +
    + + +
    + + +{% endhighlight %} +{% endtabs %} + +The provided code demonstrates how to subscribe to the `pageRenderInitiate` and `pageRenderComplete` events in the Syncfusion PDF Viewer component. \ No newline at end of file diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 1c987ef44f..2a9f51b8aa 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -1854,6 +1854,10 @@
  • Load N number of pages on initial loading
  • Retry Timeout
  • Customize toolbar
  • +
  • Customize context men
  • +
  • Open and Close Bookmark pane
  • +
  • Organize Pages
  • +
  • PageRenderInitiate and PageRenderComplete event
  • Troubleshooting diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 63b1cd9b40..a26c022d63 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -1814,6 +1814,10 @@
  • Load N number of pages on initial loading
  • Retry Timeout
  • Customize toolbar
  • +
  • Customize context men
  • +
  • Open and Close Bookmark pane
  • +
  • Organize Pages
  • +
  • PageRenderInitiate and PageRenderComplete event
  • Troubleshooting From 892894ab28236ae813a7eef1a78751a7629ea447 Mon Sep 17 00:00:00 2001 From: Karthickraja M Date: Wed, 20 Mar 2024 10:25:28 +0530 Subject: [PATCH 030/134] 875577: UG failure resolved. --- ej2-asp-core-mvc/pivot-table/EJ2_ASP.MVC/virtual-scrolling.md | 2 ++ .../pivot-table/EJ2_ASP.NETCORE/virtual-scrolling.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ej2-asp-core-mvc/pivot-table/EJ2_ASP.MVC/virtual-scrolling.md b/ej2-asp-core-mvc/pivot-table/EJ2_ASP.MVC/virtual-scrolling.md index 14f56b2af0..61031041c7 100644 --- a/ej2-asp-core-mvc/pivot-table/EJ2_ASP.MVC/virtual-scrolling.md +++ b/ej2-asp-core-mvc/pivot-table/EJ2_ASP.MVC/virtual-scrolling.md @@ -47,6 +47,8 @@ When virtual scrolling is enabled, the pivot table renders not only the current Enabling this property causes the pivot table to render only the rows and columns that are relevant to the current view page during virtual scrolling. This optimization significantly improves the performance of the pivot table during initial rendering and when performing UI actions such as drill up/down, sorting, filtering, and more. +{% if page.publishingplatform == "aspnet-core" %} + {% tabs %} {% highlight cshtml tabtitle="CSHTML" %} {% include code-snippet/pivot-table/single-page-mode/tagHelper %} diff --git a/ej2-asp-core-mvc/pivot-table/EJ2_ASP.NETCORE/virtual-scrolling.md b/ej2-asp-core-mvc/pivot-table/EJ2_ASP.NETCORE/virtual-scrolling.md index d1004d3722..7dbbfb4fa9 100644 --- a/ej2-asp-core-mvc/pivot-table/EJ2_ASP.NETCORE/virtual-scrolling.md +++ b/ej2-asp-core-mvc/pivot-table/EJ2_ASP.NETCORE/virtual-scrolling.md @@ -47,6 +47,8 @@ When virtual scrolling is enabled, the pivot table renders not only the current Enabling this property causes the pivot table to render only the rows and columns that are relevant to the current view page during virtual scrolling. This optimization significantly improves the performance of the pivot table during initial rendering and when performing UI actions such as drill up/down, sorting, filtering, and more. +{% if page.publishingplatform == "aspnet-core" %} + {% tabs %} {% highlight cshtml tabtitle="CSHTML" %} {% include code-snippet/pivot-table/single-page-mode/tagHelper %} From 7c8470fee053dc5e35eebd5790447c6652fe5967 Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Wed, 20 Mar 2024 11:34:19 +0530 Subject: [PATCH 031/134] 869993: committed missed contents. --- .../polygon-shape-highlight.cs | 29 ------- .../polygon/polygon-shape-highlight/razor | 74 ---------------- .../polygon/polygon-shape-highlight/tagHelper | 82 ------------------ .../polygon-shape-selection.cs | 29 ------- .../polygon/polygon-shape-selection/razor | 74 ---------------- .../polygon/polygon-shape-selection/tagHelper | 82 ------------------ .../Polygon/polygon-shape-highlight.gif | Bin 45625 -> 0 bytes .../Polygon/polygon-shape-selection.gif | Bin 40439 -> 0 bytes 8 files changed, 370 deletions(-) delete mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs delete mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor delete mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper delete mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs delete mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor delete mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper delete mode 100644 ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif delete mode 100644 ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs deleted file mode 100644 index a720d8b43a..0000000000 --- a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Newtonsoft.Json; -using Syncfusion.EJ2.Charts; - -namespace EJ2_Core_Application.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - ViewBag.worldmap = GetWorldMap(); - ViewBag.world_map = GetMap(); - return View(); - } - - // To access the data in Core - public object GetWorldMap() - { - string allText = System.IO.File.ReadAllText("./wwwroot/scripts/MapsData/WorldMap.js"); - return JsonConvert.DeserializeObject(allText); - } - - // To access the data in MVC - public object GetMap() - { - string allText = System.IO.File.ReadAllText(Server.MapPath("~/App_Data/WorldMap.json")); - return JsonConvert.DeserializeObject(allText, typeof(object)); - } - } -} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor deleted file mode 100644 index 4ff2dab42a..0000000000 --- a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor +++ /dev/null @@ -1,74 +0,0 @@ -@using Syncfusion.EJ2.Maps; - -@{ - var data = new[] - { - new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, - new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, - new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, - new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, - new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, - new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, - new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, - new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, - new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, - new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, - new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, - new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, - new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, - new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, - new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, - new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, - new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, - new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, - new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, - new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, - new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, - new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, - new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, - new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, - new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, - new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, - new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, - new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, - new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, - new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, - new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, - new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, - new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, - new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } - }; - - - var polygons = new List - { - new Syncfusion.EJ2.Maps.MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } - }; - - var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings - { - Enable = true, Fill = "yellow", Opacity = 0.4, - Border = new MapsBorder - { - Color ="blue", - Opacity = 0.6, - Width=4 - } - }; - - var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings - { - Enable = true, - Fill = "red", - EnableMultiSelect = false, - Opacity = 0.7, - Border = new MapsBorder - { - Color = "green", - Opacity = 0.7, - Width = 2 - } - }; -} - -@(Html.EJS().Maps("maps").Layers(layers => { layers.PolygonSettings(polygon => { polygon.Polygons(polygons).HighlightSettings(highlight).SelectionSettings(selection); }).ShapeData(ViewBag.world_map).Add(); }).Render()) \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper deleted file mode 100644 index 0ed75a4fe8..0000000000 --- a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper +++ /dev/null @@ -1,82 +0,0 @@ -@using Syncfusion.EJ2.Maps - -@{ - var data = new[] - { - new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, - new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, - new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, - new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, - new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, - new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, - new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, - new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, - new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, - new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, - new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, - new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, - new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, - new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, - new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, - new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, - new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, - new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, - new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, - new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, - new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, - new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, - new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, - new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, - new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, - new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, - new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, - new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, - new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, - new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, - new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, - new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, - new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, - new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } - }; - - - var polygons = new List - { - new MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } - }; - - var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings - { - Enable = true, Fill = "yellow", Opacity = 0.4, - Border = new MapsBorder - { - Color ="blue", - Opacity = 0.6, - Width=4 - } - }; - - var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings - { - Enable = true, - Fill = "red", - EnableMultiSelect = false, - Opacity = 0.7, - Border = new MapsBorder - { - Color = "green", - Opacity = 0.7, - Width = 2 - } - }; - -} - - - - - - - - - \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs deleted file mode 100644 index a720d8b43a..0000000000 --- a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Newtonsoft.Json; -using Syncfusion.EJ2.Charts; - -namespace EJ2_Core_Application.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() - { - ViewBag.worldmap = GetWorldMap(); - ViewBag.world_map = GetMap(); - return View(); - } - - // To access the data in Core - public object GetWorldMap() - { - string allText = System.IO.File.ReadAllText("./wwwroot/scripts/MapsData/WorldMap.js"); - return JsonConvert.DeserializeObject(allText); - } - - // To access the data in MVC - public object GetMap() - { - string allText = System.IO.File.ReadAllText(Server.MapPath("~/App_Data/WorldMap.json")); - return JsonConvert.DeserializeObject(allText, typeof(object)); - } - } -} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor deleted file mode 100644 index c411172799..0000000000 --- a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor +++ /dev/null @@ -1,74 +0,0 @@ -@using Syncfusion.EJ2.Maps; - -@{ - var data = new[] - { - new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, - new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, - new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, - new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, - new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, - new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, - new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, - new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, - new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, - new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, - new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, - new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, - new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, - new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, - new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, - new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, - new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, - new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, - new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, - new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, - new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, - new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, - new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, - new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, - new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, - new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, - new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, - new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, - new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, - new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, - new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, - new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, - new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, - new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } - }; - - - var polygons = new List - { - new Syncfusion.EJ2.Maps.MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } - }; - - var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings - { - Enable = true, Fill = "blue", Opacity = 0.7, - Border = new MapsBorder - { - Color ="green", - Opacity = 0.7, - Width=2 - } - }; - - var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings - { - Enable = true, - Fill = "violet", - EnableMultiSelect = false, - Opacity = 0.8, - Border = new MapsBorder - { - Color = "cyan", - Opacity = 1, - Width = 7 - } - }; -} - -@(Html.EJS().Maps("maps").Layers(layers => { layers.PolygonSettings(polygon => { polygon.Polygons(polygons).HighlightSettings(highlight).SelectionSettings(selection); }).ShapeData(ViewBag.world_map).Add(); }).Render()) \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper deleted file mode 100644 index 84e3296b3a..0000000000 --- a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper +++ /dev/null @@ -1,82 +0,0 @@ -@using Syncfusion.EJ2.Maps - -@{ - var data = new[] - { - new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, - new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, - new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, - new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, - new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, - new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, - new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, - new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, - new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, - new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, - new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, - new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, - new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, - new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, - new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, - new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, - new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, - new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, - new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, - new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, - new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, - new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, - new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, - new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, - new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, - new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, - new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, - new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, - new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, - new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, - new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, - new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, - new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, - new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } - }; - - - var polygons = new List - { - new MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } - }; - - var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings - { - Enable = true, Fill = "blue", Opacity = 0.7, - Border = new MapsBorder - { - Color ="green", - Opacity = 0.7, - Width=2 - } - }; - - var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings - { - Enable = true, - Fill = "violet", - EnableMultiSelect = false, - Opacity = 0.8, - Border = new MapsBorder - { - Color = "cyan", - Opacity = 1, - Width = 7 - } - }; - -} - - - - - - - - - \ No newline at end of file diff --git a/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif b/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif deleted file mode 100644 index bc6c4c3ec7990357cbf3cafeb9af710970aaba63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45625 zcmeF(^;Z+#<3Dg>zy_m3ngJV)gmk%$(OuF=OFKdZ1tm5%(vecq(nxnmOcjtpuqPb9yL{LvrdU|UH zhUEs&42*KMj7@Be{n$)QKAM@Wn&p^Tm@ipaOj=ruSXm8PTfMfn9=5ibvawmP@nN^k zv9-7Fx3}MP$aZjam~nLc?(*El)pf?zozv~*ZFl!xclR|9k4X>D3y)k6Pp?cbuVZiT z7H^*f-#b^ndA@%Bq=3A@K&NYgf#-oi^+AEJ(dZF$*n_Zw@Q8cW_wEfnxL^6;!R3R( z2a&gUA|opz3!|c*KYaMG;!$+zqoU|&2fpY>C68_R9^3Ihj(Ps%@zs+jy|K3Zu|=_Q zHvDl3*!cJ!OeZEWF%O69#1-RkqltL@Y?75gYN~r`>Qh3-C7~oCBcnAlFEhJ5JEtHy z&qO$X@>!vYNMT`paWS^I#JZ%Sw6qjk-dIs-0IghnQT5`gx+=E1y1J&iuBPTm&3~4v zYin!k{->d?{!x8>eFF;C@Sm5>jsJPu*whr+)YR16+}zUA(yAxk`ac7$ZJn*%t!?7c zZU1xC)*jK;(bbL+Yj1Dw>hA9D>FMeHPv70XzP^Ehfx*GSSFc_T4Gj%z zNe=(d=*aNI$jHd(i2o>&NZcNM{XYw1V`JmvmNRR*jT^X_;9qb zvGMWf+J08{QUgl{Nm#G@4tWl{`>du^78WP>Wbou zLimcoT+h}<7h$QVcwL^Fl7fOl_yRyf_g|IFe`SjQ#RT_%A^E?M{Qn#h;1$Igh~Kce zbT|RXF6BaME*r(Mh#D6ewv@k4;l2^DPHL$be+tn}<~M4soXC=}sdJfVeKGY+-fObR zC=2$gP%ZpmeWI;;t^}SyFJRnWvru7}CFMHVUb|FnSz-L#xTEe(y+d2Thsloml_vMm zWC4@ThIeg#ONn2{I~&)!&^wdQO}buw=!-l#_%PMg^zl_JHG`mOck|XLo?Y5)y1Qj( zoFHmaY}(VhJC%1MaAUfsZGWy*H$~8_xBc@{jZMAVOmD}Rm1eK0VzWOTuhzQ5ziiC( zb$$Ohl)xZl-rxOWhm<9Kd$zylWPiTGq{Mun_ve?@w!n|G1AS-TH%C*hge(U8FHXoy z^|$8+2mYKL?M#(eyc+!X=ltZ$$GKOp{u@eYB{pLLTz;EzK(U(5c(4k2Gl4~4Vhh7@ z%Wn(I?OU^z$bX-_g@YtYY~!K1e%nbBRW;kmGM(h@6!|fUomAR7-5KTmY2BT4tzTrX zM;G`}QyGGcXJtk@0Xe0xjMC_cXB`W`|m%G^aRcoMf0kg7st{{k>g0G6V;+*a2>fkb>pqMY#~KB zqt-r+uIY`HypwdDT<*y`&@W0-2Q@ayx{QilmGK~*%kGM)+zj(8sp1>OZwp|s?}WN9 zFXcVkCUOVQNA6Uvl1Z+bonnDdu^&eVhi%X*-Q?CgkGE5G-u=j;@0bWfGPiFg7M7`{ zqf@G2b8vrG#XT_-W1a0W>86B_?b706hql$}0~0UHzx7kl$+*k>txB5EUivy}G~79O z+%&{u5G|AoF8SOPL9`8$mSuZz_~T*2w#w5nzYR85HRww3^teoy%!VxCoa%*|WQinG zME&x*xHxm);mO=`V>ndlQmdjZSM_Gs(Lz`O_34tOuIf}q?%|2llDKd&1ey(>dLgb!ThOhR_{;9)_D;pDPrg4M&Tqs$b3-FFt#piJGlv->Ll>@|A^s z>aa~Tp-{(72m}r>S(}>Nt)XM?QJbjz@Gy7gu+u`hp)|kg=5UbYOmP0SpdigR6iXA| z`YGl9o>85#|NG%QTkfnwY<^rdu~*8&pmOV))|3oKV0v)Kpgi^ECFOS;h70G1_94qZ zq;+0Y#QOclXdXOMv{w3}qW=YOCB`jRK`C!C9hpb-r&33$2gz$XiqZH>nJ(Hhs`|&B zR=kK(j=q=0a=E)S!!1L4{m?6bw_fig?-%&3dWGr=>4V4>Bs7(7@CYAVw?b1})?cvO zaBpxmO}+D;m>c9rvKMlkW^{~Cc#?2?g*2my&a3M6_>pQ=PDdfUrM*u6n)0@9Mq6>L zy0Yv?y0+)a53s7H=7zoly4_xie^*caAInpGC2RHdbI|N=B2QfVGsVBdOvaIu-bvHm zsdb^l9lO3l5vkCw>9};J*(8nv)7_*EN~SyH?Z=mJ$ZmIJA;*2=?DcqznyGsA%7-*T zl#NgJY6dKDbB}x6OY{=`?xpivdOpI5ezlgQsnES`!=|Ab_4I4gYv|1UMiaq}qtFgL zrPc!N#c{s0)6SPxOgY^i20cTPUGDIZ=lTVL8vYztOeUTzs%1o{@{j~($Hf!BHZm@` zc}tBl-#_Hz`|8yDc`wZH)A6w4pSAc%^9s z(+OT_T1z!#yomdStMU^`v~uZQj;gMHT(OR}^hQZ_xHy}*h2`E>$+7UW=Vf^1 z>(80cH>>iD#*AXC!XlwaHksm`_`jCXM`se=jWQX9?=NpXULE@SsB^0}$hX>3pRGQ2 zP+dIRcm?&|EKBAuLa!q+BX!dHd+^bPYlu}mk8i`A&#t%5Vd=DCD<^?%mpE{iNluC> z$J`7ldyyU{U9)@GG@v4E{u{DnGfpzU!L_hVX?4vkouw&3`_w~sSobN-C^4i)!Gf{N zr0UCXJ-?U7Y9#8dW%P`>B^_Wy{d4$h;bZ;A{$aPrumsgZ^7FLX9G6oWFIHKoujjwG zkLpo&dc9`sS{dMSp)*Myj}Ut(Z!cerW#rZ5q|@t%+Y443xkrX?HpjJAGu|lCj(Z z3zDry(At`3caQa9b(vkCJTf0Pvq<@a*%3-}FlWutAKKD}Jb=evd(6)?vxfl*TsWH( zYTD65E$^S4_!b)LY_ku$c1q8D1Dq($*0N zHQl-0Vf-3Y(at;;VpKMpsxN?7uV4|I?iZlGfooJRJDdm z)V>Io5rF@ZfJ*=R%2y}^Vz*Q@C|~j>ZcOujNj#`}=({1lW|bu1>Z`ZV$#K%ww$D8d ztkrA}9QO^{=6o`lww4B9w3PZn>NCQ5{4hWGrPXIK!2y1HvvX^~t5dI8 zWT-dlUalG~qIA!phC>*Sq{qW!Fc32Nq#0ZAN*%gJwE;aXjQS@Io&3Ae7NWm%)aHKb9k^0~>9!D2T)!t|7tnY%ux!Xgr2^q>6N&6)+fH# zdC7NLlfMXu>4zD1Q9A3hg>)IJ^xl`BDRVBGNA_=prBHy+=413nuszt|$w+9>zTg>c zT4Oov8A4gljlP8(tda=ROoy=nMe7;yJl2;7%)376{ar|Gb+rw{jjl z7GKayX`|no(fjBap@EthD{>c|VVJQF|M1^N&86eaDf}R*` z)32{GWgOANx?EC9L;Ht|p7a2Jbu;e}z&o8lofUNzYliG2`Uw`MhF0eI+LSQ`W>)%V zN#|mJ+?jMeGxd@5B{_nNB-zrjlI{hcmLs`S2&&dS|FT)>7m3fk2KGCWuVkNo%!AQ6 znV&pV>9?vHwGH;@h2_CZc78;CrNY@3Fmq##x?2zii}Y9Vwq6EhJJnjq_OR6!##|N# z;uV~6Z;0tToOzXvc|SJD;Vd~=k$Jcl_DNmvyFAk(9Bizd|8?=nmV!Yq0lc`$SQ2G$ zCa>N$gjFth(uF8ZDP`J2Gmz$Q1m)pZk1P&YU)0~a7vjkj7zOQZE_fSyx6D{^oGh@| z4x1=2uGvjCZM0){Gkuq32mXBtDV*=#qZ>y7(xygT^;`^)1JSSO21iN3 zqssJe1A9FlC zt-A_r1Yb$%f~5s}{6I}Z^tD5vJPOdWK3juK$9(USR&?dqg6Ehg)B2?NWuAbUrVlkg z?0$f`7ro&Agip7W$&YyWdbUf6g=dy2&WC#y1}es-;L@S72T)W#IlvKM7$vDra7X zgQ?yNZ2WRX<~Nz@-6uC#nFUkz$_rsELHu7Uz-I)eMT(sK9vST{<~KvtU6jnfIheYJz?(4njn4~VcSGSl*@U{$Zn?Fa4{juQH*cp{ij1T+y1+cH~U?%R2fas}Tw@-r#S`JY$a{wQKP2Diy{3kqrxi-c8~ATBW=JL3v*7-VHAls4=uCng_q)6Fn)_ zS$HQP_D`?GvR_{$vd^l;F}`+ecv63H^m?|h9~H=b`_^y^^ZC(|er9w{5Y+fyqFIis zfntrd8FP;G+=}p7>5p?l9pC%2iOJB}c{sRDUenSHQPB_kUCV5L z($GH~nhRl6_%w1^x}4GsIuK!q*H)vXu^3V{vbwhTW|;XCzmcCdjK%fUhlQb{UGSPa z(>E5y=pvX)ujkz;rbBm3>u$x52)?Q@@Jp7qOL_Fm((A6BAe#WoGPbe|0`maF>{7;3 zIdRH%6%pvde^d&6Gc?g(miciE#53hoR`u4gyoBZIE7P*OLu_4Xw!F696qrh*c&l{A zIr>2g9L$`RPh@E~uuhmb0-wano)JcuLstZ0iPoNj=y86ZpY(2e;3r?1i(O*BgZbNs z=qD(cmS=9dYO9hhwLd(Ec`R8;yw)I;^2KR7?H9qCpAB}gZO=C_v>XvvtvVDxncA$2 zx>l{d-dcsyT3SxnN{^5fa(Gxcr|NhZ_JM;dM@WByj)mah9DABuj1-*Ntym_;ae_+jh`lxLHF-KD~^2(}*bC=;j1u+#3J<*-XWx{bfQ0&EjRVPBe~xmUw;3C|+j~8>q2K=NK}<;wpO!tx z=N6cCV-V1Pq9anINe^S{H%x?i&;{Z3NAiXV@a4$xNFo)8AzF1C-gY4}*vVNika3WL z=JW3We-?iS4)2;C{xA&~&|y2Ee8mr%28FfDw+wxMS)EF-^w}VMIn9w#3Q_$*Xc1pt zToxJY%J2}rzarx}^3`*7vFxZD1LD8>D1Aq9>y<~Z+rVvoHgJ7Ry5mUs=^J`s>g1*y zOndH8o$(-(+eG=- z_W1rV!?7FWV#p!XRq#>fh|3OBO^MjlCEsaXe?*8}zy|+!_`>a_nyzEWXM#eA_Iu8I z-(M}97$7AncMtX>4JoJPbLanlyjsX_5rX`lXF8V;M|Tx53JT7~I$3XsKW~mdeRxR4 z{jGxv^h8eJi{*vJQgrYA%gZt_1#7KMy=@BkdflGI7BZ1hKnDZNSV1Ioh#)KVt#(B2 zUhV}0c&tAeX2Q&hwTw~(jdLNQ&nupVINxw@k+;h1kXhF&*1o3b{Ap_6vRp3>>3t>% zl{ci#7r^p%Y&GNxE3|w8F@91>gx8k``IsM!8m4$gF`U^o8d_hH9X0Yo4qbY6-=%@M znqFFk6TRz5^i?XDdK}+ z+2!KpSh4G$`)P$5nsh=N`~7zs>Ru|6q&3c?Yr~eFT+3|;1vxD6W9KN*XwK7IE?k-An{5TSP(a{8Gg!@qE`^gWoy{fGyQH{D1z&vl31~f zsN(X>jnb2KI`${``5?>Z%I@dAtE_CT%M8BmBc=5@KVTj?E)cEgZCT(HZ?$KT=Aur@ zA?5L#^bq1@@P=})ijItB#w(|E)*x1i1@ZA^taYJIjzsyUVr#s4ak14wi<#}|_;a)M zALIN4d4Klu(8$jUSC!$P0*#7#rU7kG*K=X^p1X!TAU3H$byBx+MSQl1>)#%6Ya5H0 zprVSsEoffw<)3V$NC_gQ02%Xs{8<7d=?L<7EY4flzdtUgEa|bApRzGg!@xMyx4}Z?a)j2Dhtki~fhB<{yeY2BKlr#HeX@Nv@cOw)kc}39F7W$KXQy zvM0>FVQpW!Ej@KkZi3mDOZLh5*iaaI%3bu3^lXdwF^)6K6|z z!M{J{p$EMTuS^Jw%J%M!U2dPaIcNOE4g(H<(v`qCd$CZ{%7rL$Zz7b<+=Q^8F60hA z0AywMRwi<#6@^L!cEmfAz4JBu9*M5-AD@?61h|n=xkRmib?00#?Pm6emw_MCHnk+i z^xS&#KRawy;R_P+J&vNIge{Fm zBX=IGS(haSJX8}Fv*`HkN-lnTP57vINAdt4gk@PKhvFmjYR`J+9iP_O2bqj7rifPiSSc=Xc<9_CP!7udm1ZK-w$lwtW z{9^R#?t2jJFc(!}M#Km&=M95?CbpzRzo+c=Jg(1G7BlQW`3Y10=0lD7WSU1BD}JO} z64!7Tu4&da9z@eXJG+1%Nhvo)9BCA1bIU?wz1hF~pqp1(Y<{r5{fG&$^Hu_ZXe`1c zp!kzDGbzDNY9tfeMUr&-YXNdx0xwMDqrTcgb7I2|H+c)IJ4?%C!eZ*r`-9d4VkMIh zjDa(i(XkjHQ#%{K+qQEH@}`tCugOxGze~nSdm?fS)xJZ{q(S2ELwO=8EQPYWln1p?_bJ2B*9-C=kArnYxMe9<_5D`{Dk}%hThY%r!2^>Hj9?W-3Zc>H9(;k z16H7e>F+Xo3qpnI^Jn!jdryfMi)H%DWBkS|Nyqrz65zgGG`p8jHBwXSYi0B#HPuA`%kzpOlR2|pBn+ai zkJ@8Zyq~8C{a!S+G^mskSlUsqec}4AQzra@fK6Vz9X;gq#Aei-+lr{eY#C`Z2#S6(D*L%LxamudDURxz5D!TPTu zkCdp9%wSw<_+BV9!(ow$^NjE}##8t=9Hf%O<^by99M%^uOHjV@+*pmKdBouFA{``= z2DI=idq@+SYX$QJ2p#u>|I%hTXMV`!rxxNeE7j%q&cFseP`A9OiRF6WU4mMKWPHHq zRabJcM9o8<+5*w9FiC8msq3Bem9X7f8;`nMkYf7n6-G#3g5|8xq_CcWq*>-T*9#%L z%QR`S3kTcv?Rk!cwwk3z?lRB0Qe?IX&`U*m-?i5%^rd9R93d`9{4_LqK*@ z7!FtFu z47X&3CbY7%=)-;{`L`LzIq^{3@z-gB>0Q7Q7K zh0ARt@I1vOL|Z7Ubtaz8@FNfOm#d+gEilO|mR3+(@K2A*FoVOZ4<{n(nye?R3x*&5 zp3n||nFUHWq>-}4kN=rLBRu@efd%kwHNjW@C1uuyS2|uBYCp@izC3;4vZL9c5p&$Z z`|zSscf##>VE-D=%?hPaSGx*Q7OvbQw|Se_8bl zdhA0}^lw$d1#$FiPx;k-?{+WN!W+q*3`t%o|J_33sE}8BZJ20RmlB0ebdZqGLSuAB z*_MYf_eV>%Cg>UpZd!OY1l7M{0q6Y@75uG`^G~`jDze~O=!?I=LSMr~hZ@!7O+a1f zpk8ceIi$5IuWqVYX8*WP!2<_$>CY_X|0z9^cGQF;Yq3U*uxPegYYzYZ^4wY!`z8P% zu9@^is&Gr1UL*))0(sf9N*6A{n~BDxc(H`5t6wFMG!yga(4&QfZj~o^x|$O@fkz|S z;3m;EoRlaHiwl^8*u&s2kw7u@&Vk`pEPsukZbrBKggb7Z8uW%ID@Pq4wFJC=m}NVf zm$r(*TBch-ik|F@+Gyq25&B*s>A2$or<(xuDjm`r?Bvp&nXlnW0bzFmxNfTDdknR( zpa^ObLP50Pb)X6#JEDU4$piR$4L>r1!8QxHN78-MeH}z(!p3QNPvMxTaGR@$Z_RqK zC(KxiI_>}<_Xx%TNP9mPX8}!uWhak`f^;;}qw)i9RRRqqYM(%pVgXa*pO`AMgaU>z zT#pjdBYy~G}XA|r!XXpb^PuxvE3HR9oXHq28A}p)RNw`PbnCNa?Um2EG#yq`ywpa~C z)!TB<9e5R(6ako{a!oa?ypdz7)_UVrv8C`wspMc%HM*B>B{i8wBni7dml&%?D4k84 zZ^WWWS!8o+WvlEwS??(=IV;Q1wW*ZIT9%(UvLBr_1+7pouD2a_V|a96bJA^n9uEP{ zYT?f+pXJ74{%Tq2n9`tQwL6*t0i}uVhBR_A*B_q0{;Fnvq%pn^OhhSh^Lk`k7%GgD z^%G0Q++$O&jz&V6$M$KrKXA+z1qKzrO&l}{;Jt~@IlO3pTlAY|-ZTN*D z37(9PaCqI~UZ3f{RG3|qp{AQQKOdkAQk}ACuFPmxN^&TLrv{GDxT+xwQzDvCV49>w zMHUflpaH>H%??QUvwKYo$P?U_)r>J%x7|&_`W`7JSeD3q;PjlgN?fBw` zy4?tvs{lGlurgB%QslgeCX6NV^%Y3-^~MybRR>E^ANRfC{~gn28JHr}i>@gANo z#*of4%_;X$7al!fkH$S9XAEPPqK2~VBnq2gAQKX9ASESnh}QZX;0mEt9l`X@v})vl zwKzwATL^WA|ibON{bRW`6dd%vVHxc?;SP+j_<~#9c8!XyQ}ebN=kK%tliz#@ zoyz#>7EGlwK54o;5JKw?VSV7fdNQNvbCl=OYL7B3=$Hw9oT>x{h-DeiLe9mdn1X|BL8tWm< z`NXWArEB649i-QSUx&W56yt?fNQb(37eR+ zT{VCYP)A@}WVUsN}2It@JyCSZ%pX=RJHTUd$=$&N4MCI`rt z9-1{f#-`r{ym2*ok5+fe3d%ZoK~DH(7fqPfrF^bT@*_Vwvk;)6`jVMSa#U%C^#aho zJ|&Q#Tf->IoldVQ28#S|47%a!$YozGLC=>UXGSy_3!pLL^Rm4UF~!@~M(!l$-1bVx zhk`%O!|Cpp()v0uzKyAIc#*;|W|HA&>zK=IOnQ$S!a2kyrZ0OW7~WQTBQl=l+ZYc( zR59#K2nXlVPsSui0%>pFW2)Qqk?-BF*rZd^Ns419Up>MP(LPTxuEJZ!0GVYR6WqeE`M=CD3wRmTGOsq5cC=Z&mozYH@S<#Io|KBc5BXAtP5cE4ZlsUW zbN|`4NYE(mshUi)T*u;_3smqSXh-Dg?2th)OOXH7oW4zJhClTJjVb;UZ8Apx7bvFtYersR z*2_(u|Y%pRBX=_D8E(#|{3nYsWNL-rCa6TfZ&>Mt-3ku-Fd-{dYZYdOhAj3E1= z#DlRf0q424qz#2A>+Z|zXc+xN^j$X2@3^mkFYhoddr5A>G>`vl=iO7iSj>Z$vS~-R z>xCId-Ox@^Uu)DR)6fSezv$iYIIuW-44LiP+d8LGbU?~pQz`cM*!Ep{#FKO&n=#Mo z5;ocA7LFYH^>lWo9OGMLWMcU}Tnuz&|2W`2p4Gm2-hq-Hx*}t0h;`t0!>!WQ|2qih z{!ti#3uwNb1`q8~#MdIhBbN$y{AiR+4AfS5)m4@4C4y}+7?o$>_6;E2vt8j9fXgmF z8<(m}l_~uKR@J~&;x z&%B$Kt?f>z@%=;~=(%bX&PXCyLpHQ;8$09&io!n7?|i2XWc9~AhIc0neN4pTq6oC6 zEZg%QApR%v-)Y&WHh{PMXrg4!e%EVSJJKwuB;QlsuWN$zcmt1VyPv$0dms{;#**?B z4cI8ZZ?2R3P3a+_`!8+acw^b0rsh9xPFQh*l4Ne+ z)SP|l=9n7J~|@o$CO}kW1znr&W3o z)73(&Wm<>LTI|6Os5mK#3L$U&&hSR5mH`B=)_XgiP{>YjuMPfUR^TNqPK2$c?Q&LE2Q>XCg#m~ZM#3NFkLFhh*hG> zu2x1k6$@H|U%m24ka9C6G7u1uI!E?Ty`%6uCZ*FUx{Em5x9C%_Svs{`0vN_{f<DC^t^YJ?}ZZo~_&6xi!~ukDlTg7Nbxx2+wE z8&ty;IZ6}!-J(ymjo++3LC{CB$clZ<%2(5o0xpb8zHa#vxmq z31ClMDJiI|=LI!mZ2U3MqP$gJH&yk-y>e5eodx5IoCSGLqyRZNZN;B4cD#TI)3>jb zXDVcGyVXOTSbR$3$v*Zpy`lt}OnS|RW(yEUit5X;-Ujm`rIW)pBIy_ett4-Q_3?4K z4KaVCkCW9F|JG*Iu@?tqW2s~Ml93JTyvyFMT&M|YLiTu&Ws6!ALFOZ)Z9wh#eML9v zTmqX(*!#~9W%MS06DNzQzK+Sh=3KkR6p%X<&M+vTiZMrhvu!gs*wlJf_PX==jh8pC zez>=r=Kwy4nDpwyKJ6h2p@%urEiyqx`GS8U@}H-mN4_C~e@!R#13bdMBP@jeOv*&6 z43PQ|GgKKG)J9o~s~%ajpGAg^MU~#uv|MAoIqCkqQeS8HNSYz$SeuI@_eARX-i#j^Tg67MT3V&+B599>^iSp0pD(N9W4#hgh^g^7AS%y*1tWtT+Tgyv}9)usNHH!Vo#tg`XO;MKL= z8|(0Ep_sXkwDGd%jx>UM=tMR0mdZG+k}Eq>FbdL=9Ih>$a zZ!^CPni66bhR}c9XLPI76-ncJdK!B)2LQi z>b}ptI1JX==R6$YfA1#FfqM=T&Ssev`8F~tTO7hu=su<$me*;nMK;UY!i;jAFezL| z@(A|OKI`Vr9KAs4y>Oz55R8yc$p5a@NHHnBc%EasoSMW?<_;xr*E71xNg#_1!F0$p zyu2t^Sbybe>WkDip4Pk8hsml9p@gPTZy}X%pqOSRvoESu_$9ZM=p0ex%JGoKeb2m2b>(N`6hFS*w*m2#roQwt_seZn7JY)bC5RMOCsk*ji_Kz8VIoV4?^dJnWLw z4&$gx+SJ<01or<9lRnf0FHrt)yP`IBnoIf<$$7Y-K4UrbM(_7h$1HdOgII-howCTxh}j)mS~ zf!N6l7j81adZSo8qj&g&T!71-3YJe>7);g>Kem62HDXqPhcH0{j z_kR2(1~0d5_!{(Yf%)nlQDD%r#%BC@IzBrB(u7~)dCJM4(R+oek_|SJS@mb}R1!7% z8@MlG9oKh%+AA(Ckk|RzYmg(coYVd{y$>px)zbx3>k%Up)6Z&$jqt4I{BiAer7)u@ zQ6yryl!y?P=A2N(a4$Zxd8-ze^vqj=vuhgw15^-g8@7#EjA)Z-GtKdz#>Jnb9rZgi zhLhNcjmXvpONkS38azSZyBf}~!nt63lcH;$5Zi53K-w!dUB_a|~PhjG=O~xNZEoqT%ycvOWI~4X0CGQBy{__@(2%13_<; zA*J0DI>nR*u{=>$F%sN)A>BLlCFI}-ldd-cWD1}by&}Vx6z37G_s;v8cMdw z=yC!gxjHn1D&MYIMr5c_p3oG=L@S5s2E`E&k)e#?rK5b`GqEWNMH#hHm`Om~b&Y_G z)Q20D&9$X~2sMxXA_UTgbpogSa$iR68-^R|vUHd={7^;Yr2EVBb|9;FtR;a}k=cqd zGx_Fs?*<=9^K8+Pd_4kHh-!Ifi$_BccqdD^132zkViOW;fRW)8#ulD!rLKJA63i{- zLhyPe`NvGkE5xnY@(!@5-oXrvqJWpZZQQvp4R0m~?eN{WOtqKSTH@#HM$}BVs|MGy z=cVJ-LRzf!zKimVA0?_a2&YA;(Tj+wN~+PX7sRjI3*`Cfjga+ND7|JhO2e?dFOC_l zBMKn8E2=>p+sVZPp9fM9*Y$q&Wf>Bk#hfxV3;^jJ1#-XNg7>E0lun&Ra4TzUc_nJ@ z{b2MV$B$eB4G@NL88Ma>66s`&^p)Dy^*He9$6FU;9u5c-44y?)u38Z3V0HgeW1;u# zEx1v%Le4+Bnx{1#sG#!Sgq=|I9WJOiyX(r5D^v-Ou5NndwN0-i%P)G;{7I)KC_S~* zi%UBc6Q~-OcPH0e+F6H7OhZA(`gghh)PhGz3r zKhbu#T$nwBO7Rr#sG$tl=0p!cK++)>vI`I^dJk_HnR!7AjgAlGnQ;_Ai407fkm(wh zsVE-<#666CgPbX;-c3nfIs0~x9KZltN+m5l)aEiHQVwg#bwLzM0t`jeoCd*Sb<6bt zY8028<0{m#!>9s+RD8~p=K zykF3h+H|#Ppq9h)!FZh+MM^EEspKsaxUAO(P$MOw@z-Nr3`{?M(x&e9i0?+BOs6r0 zK^wz{z|e@RXR3LlW+0-JgRTpCRO3^E+G&OiaY?p+B+@+ze#)dz@l3-uh5a)+v>m>v-!WM`Wo4W3t);vEQvBBEIo2w>RQbO}$1L6NQ$JRXF^DETpo z*LbJSBZUU2l<=cB(66PY@j4WF$h?($AVy?iJ!M!|jkuv5Iw8fM>RCw@tL}5uBI@k# zhCq!lTIp#mZy8Dz7=6Q7r+eRo$5(M?pd$ZY`*3~*JfJaHa5b|krPKq3AXUL6S{CQ$ifhh2{xsT2vu z@ovWf?l*7f20L2x@*`WP0T7CS8aKHVQHF)u&3jAwJ-B z{J`r~zdgJ1?a6yiBL({Jbodi)xPOLY4h-t*Ns3oKy>ieZBrBNdrwFmXVj5b+v#R*6L?xBOhWE<#k(SM|$*wB6fEi%&m#(D7PePjqJvK zy#$sTI4F_=gom#s57BMH1Z|c|{X_7|eZNoC%Gt%rw$y5eiR#f*T!ZWJ zDwuj(oKY})JJQIYCLsGU;2k$nwIIa7^)4Fj#bTcofX>;_Z9p*ed6X&$5N|Mv1vBKrH|*uV5BvOCSqbEJGfsP#Hjff#RmpAp$#`rO0F z>AEx0c1vG>#{j=qQ?sV!avfpn3=nm=8*?QlMhb<#4U zt9`a4mHjfq^F*Y9lBPLMt*c2W5>9hODGEd>&+2NTLxagk^Yb*8@D0QXN)JBwN$0)( z;$1^{&X_w=id|_)l6p>{PUTI*i-%uDNW<((ae&mJulh>g3J|n;vDi-l*mR4*^x>}Z zq}|YHj#RLYGAgB=-#`%H9sAS>NyUGcsDn1PEtN7ADpW%m@JUa;bqdJ59?xwVOY0p= zhli_CD}Pf|6dGE}lf0o1`3QE>)iU%lwA2;%OBZ#x?NoB7X;om-CvAz1XEyP_KMa&% z+e!4)G(7*zqCC7Cn)LzSuhtOwH~<08V;e7vYH9hE8gFe zMD@K0xd&1-lo$;VRUP_D?cvwCs)z}Z)0dZVoP&r1_Cz_sNy|SX;mADS3xO@&Kenmdrq2k(a|HDnXiei~ z1N(*QlB4A4&U6o`$Lf3ExF385#JASRu%=0G3t$-R$a-{!%`BRq#X?K-JZY5v0c-?Y zFyPeEW%9|{JZy~VG(|Jfes}WW?T{Tck;E7A@)uoVtA6~gQu zP)7jhR-!qN4@#+es7v;3B(54lV)d3|Z&!i*-ahj-3EF&YX@~~aM_vj3_Z8S$OuU5+`F;u$M zZdyWDNyUJn0nRxn6s}U>_A?V2)Da?ixgF$RP=9;srL_@tiX`=X{tv7zfu<#(XE~V1 zD;m+Qs@2UTF#5>EYq@)ZDoSr8FJ#nIoAMdO;1J2V zc&VFCr4y{UAtnI|zG`$lXe5Jhka4@7bXI^$jU&P=`sGSLgYm({=;^cP5%}k3SB$~B za{hC{BJ_9r)#k@{vD$dAq-@iI#I<@I^+O{DVT?Lp0cHzeNAFFCT%*~IX8b(((o#}T z4@5kQS>!v$3v~B7t>N4+-TUBXNo!C@c>JUJT5uEIE6*yB*T}1P3A=g9qEa`|Ayj^m zJb0c1&urFr^ePfkNu>SMX5*N4c+11a1@x#n=BFP>VVY|0qYqxY|HXzXu5US)9jSA~ zdSfjs6O!@%W`LS8SX4dPRG&7yKC<5td=8SRY<70pN~@>WNJ5POo{+jX|5zq58mxwU z$Dpob%(%`!1U;fsb)@p|)^b47qy{`RsT(T}#5a4UMH+nz;?vMPWL3&^!Nt(Rgeyq2?OwN2cjzd8XzaY_<{(MP%}B%8ESgO8 zG0GMy`8zX>lH}n$)!SE`9$ouNbnnzJ>WdgdcXW)7HMi-I_k^q`WMAr-ILpDuaRhL& zH(utl`kHHuOI7C6Htz7L5MA%8E1cRJkmA1Z^`fyQ_bkg{)Anq;+0BN77nTqFd8wIt ze!Q^$4Swg)TXH>Q<9YenHw;^qnjv>Pmi*6V@(Hiakmf(IZ&gfG)xWb8fel)F{?HP& zB@fgcVplD^VT=xM;Nl+Ci%GFLp3F-LJXhD1A$Kan8^4HH_Xk(ySXmP!T2g#M%$lxc zJGd9_YBHJ+!t@3c3UppzHU~Q=%q93t>;=q+;|~qiu{KJlhRJ8ujmuoX8t)k3P`E_h zO3KmaoNdV{Yl$m4PiTVmx@=L(bk&cMTd{ePIofTFDfVL`#!R(Kp6Ft?67xxgMZX8- z0Z3px+Ixw3StiInWbVAn_=CDoVCkng}PUVHn8nZ{KWJ)3!bVqi9Y>j_mWe(N{o5Q%d^lUDOElHK40p~2O6 z)+s4X{7#B(t5?oS`YM=TS!~*+R!eUG(hNI<U zmu+p$o01#GSmBWs!ewH=Rn3jPCT6^voWQDAr@SGNVgb|R5-+?u<(1+m_EY5MnKnF# zX&Z|~ zgJ6DWx6~%LP0ti+@OtK}UO|9WU$o|k>AggCR*GOVUi9TR& zS}ReWkWtw@+_GNjj$1f6ZA8HpkxhoKH?324kmG zqdpc=o_o=BSvg?VoKIlq>Fn+Do4wvOoR@c9^}ju3526Y9v4Kso5imwN78y=sLt=4= z@pE$=0~O(!_bR6)5d-3m-nKGOKP6NCVwVN2&~iyxr%G!YOgwegY_e$+)-G)ZBAob@ zIZT>gx`*CHuN5~G3$!k#dTI``eSwhXZ{(ts?kjluMAXg$imRX2$uA*rG}0 zvBqDpFRw!s6G@Ct;217C(1`LTi8*wazW_oP?}Gl&EUcY!Znz~*a$6Hbue~b{yEG(b z4`X0U_rQV|N7#)n$VN^G@_tJilwGyWygBi}G;{N=&Ty<&)LJEFz!Jyuh||2MSLQ}; z#F$NZ7WB}m>Mk{d(Ish8>W;o88so=+Qy{YPW%W^Uc1MGoq>+xY9!O@3bJ5NnBR#t@+Ci$tq<|+ z1&515i8HBI3tL>RD>^b%c3GWjreYD$xXUME2&epYR{hjj%N3826tIn5O!YJKp;`UR zTt@jYC+$Ot?51GE#*y`+c{Ipd}LFaAl02l{jhiZI3l1MATJM4dCg zfyJJwXEQ^p?l!2gp4wM2cF8x1LgX^=bnoyqtdsgxPDS$hEY*Wgk*#RKm6usMEqKY+ z7O?gO*^Csnj$T0;Plcvmc_>Mu+HAFvra_NBsn<^;v^Y6!#D>qN8^jv4mh<)9Vu64H z@_zUt`kX;Ayxen;DBAfvOqHBMbP^a7>Xb!)b7itpzYgp9`8@A~?1k1uJ2CgWT^ael2JDD*j^#%-!q^pu!z3SiWsyoY`KDqxx3T-9 z(lBYA`&E2JZQ4=8+3WHb1rULX9+3rB3^6X=67$htotTqzEzRD)n0*M5JA&bX4r`OQ zl4IpRe}djPbrFTvkX6>ytx z)%-DWDQHkw@gD4^GJY0>+qIOQM?Ds*Mp#*mF-E!yNA+gC=GfA1$j5r*mGMjGqFXzF z%>!D*VZ=EnsbVT;`LrewJU3j2`VtP4bYV1)6SgRh7U0mUQV}I1Lv^t-7o!gG5>$KN z-1bPXQ%19;wxeSU$-}lOY8-+_w{-f0?rMc-4$s+!#2E*xXNK^LziE!17IP*!c9vQ4 zr`IX5{ccZU{92)sbUsjae5b@&aOiC?DZ#gPRjl?Qhd`IDju`Ro_xVKJb){1)(=xnMgkhahK zAoYYaeB+&cgZH#5{Uint%7CqLTGVdtgweXL6QS__k*a2xgjxO0(ZMmcEpu@mNkC3vcv8=(_<==7 z)1^keL_5iXJ%dh(LW1dAoX4&_ieAsV&rtpNa91AR7@W>!mh@Qm%D|ORY7?MTSrGix zmbB927ySe@GVJ#1L;@KB zQr$7Lkr(IReTHcP!VfTERbsq1#KgF?qCdU=z8zl^G5n>52*3IT8)z!Ax`j2)5Pjkg zQ`?vPAo?h_y5@l83NZ3|navf-wudN#b-bNAzp)9GS=z zkl>&MG&%;3rrNOwac8?`9FhyXm|Z(Ze~uNBLfV((rB@jh+_>(iu!(0#su09oq#vQryzRb(N_SooS%vu(U0hr;B^o)xLoZ$q}Z!%9hCCY(3 z6Xnn-k^c04Z+q9Fh;5>D1^v% zxY{Q;uA*{)!Uhj9hJXFOnqTmMNf7lpe>>?4i9(`UCbPw<3du=!?Zi_@n$!20JM>;U zRP7{Lz&=PSk^GDq#M?ZK0MBB2%lX*L5#MoqVshf=_LX1YP*ZNfkX7uYYs(RNRAMzi zHj(jsjm*W3yYDienFUIpOb|x}rOTTgeBfFV#0z~gCJieZ}PK z6C-F&letpvc`~lx&03Bm2OP+WmaMn-xJ3tMu!XlursrIB!*rv`9?Zhpu@)KMF?55be5~H{O2=%;MXYX~8{u>T3%3U5xZ`vK zH@T!h+++~%F2-24LHV#;W^|bSVY@lI7WqQ?l3b9_$$;czzfdp{*Kn~7qC{1oZ zZ}kDOlHM$m=X6VcP8th(xuznq`e>V&s)#ZC2;%l3aepSvi;&E(zx0jYWMxZLm&CjG zt!Z7nj4GOwS=ccOWPAIGA6e4Wdg@~=VN2dR2!OpwIiJs{vj^gma7FZDRJm7Cq2;o7 zL}SseyzT8ai!Y_bBrK$*?s^6*D1fYGIt)}u3P}T7enyhT7_RMu5*fFTXV1s8gAsz?363ZvW<8NdqTNZkQ;--Z+0>yc>B<^PMv4&FatX(>8{C~A z)TMzxq=B5aVQBpwY!%}5jRAxutZxa6=%E!^)OK`m%j$!%3cbR7#&|`$Rzcl()5%_{ ziau8T+db#Sd~nVZbv61J=0Z>2&^hjma!&mz%FGy*dY?~?$pUQrq2zfuKL6EGyre$C zPlaGDx1nu8VsDUWJ#`Nf?8WfhPGhdV8u+E(s@96lrrfjOv)Dypz9QV78;&ai!q<#L z?V5>b)Ns1*s_UN#cPBoy7J`RA(_<%Fe*G+hB6x?1@Q&Aw4+^UA5xwN_VRT(rcPd!! zhry($T8Z)EiBtsUj=?1$4CdCVJ()p#B4To=)S$TxbR){}7MM6CO8)Cljje%-4TrZ(;2VcS?hUhglFLSA9?eHZfhOj?x*Hs_DEyUI@Vb0grV>?HU29B zHJ{hdB5lbY(m*)!ne8)Q*~_&7T*CUMN=%Z?D6&%KIyuR`f~y~Qw(bG?4H{pq;bn!c0ONl2fNIslFjT41;(8m6GsKBmaKm_1NO|jQ?uf8Kw4Jpxi6<1u z#cSK}t~_Pxp;EZ7v;S4tcclh>IETG|jZGL@1ZcQG;({Kc`(3l&xpJ3bBy0&mPB+vp zOB$Q7SI%Fz4NGP-d)7wJBHHvU{d!iPh@IZv`|%?Yei2u<=eQ3_+Yz+2oIYA6r(9TG zLu&p{ij8-mF8&;F%JZ&twFQ-i!%`K^ojSIv=^E5b>*1JcBfm`!yOP3HH^G$~40^{I4Z(>KHoW?9lF zos}g{_0Y(S)fQ+j@C(wvm_w>Bdu)A8w7D zcL}*KY59BxZYcLi-q@QhQwm2&YRY5byU(=UNfTaE;Q{3t5@fHh7|u`}dmSciPZ=?b z!DhNmO%SwbvApR(ZZ4TeGU9yNXC675(F~}HV#_)EyM5PjLIGDFFRlihN|TekC#nc( zRa91(1{}|4AQzsi;Xs#jee|slJ?0J&)l23;@4J4FX^x3u%_PfnV|lI+NP;EVD+FHC zLlJ4<4LKAJp?q^_0#=ajfFdN=kR`4#uk_LLU;TzDaOJL1L+IlJmU_@FS%cFAuD%Om zMU0$Ep*+*L+c}O6MXc6X@;B5+%gPc_iSm!Zqb05nJ-$0?nV3nS2uPP}v%SwPWksZH zapOxsRxjL73lL8c=B(yJ@dim`x+`bq@l^3>)2+GO=%eRylUh_`oX+HtvBBpuZkhM| zdAX{dIe_?%z0eV)#uXx8Cy59V<6y?iXOsFIV_q20O9WZGJe`kA4ukNbZc1d@^VhL0 zd?yJ-@JKb`W+z<7d5G=Q_}gF!c!{gUT?}V5ZciGwwn~W0dz`d@d0G5s(Wo+@coPXq zdtO>2se3NRv=i9^e02K~3=kA}oGKdb%6CNO4#go0fZW%~ZtovwZj#4E$>TeZB_Zk| zq2d`S{F9!9HmdZf3qT$-=gtC5Ejv{at(${;CTj~}jZlYJAo+>k&2DqLbN0m2tT%}g zM4v6wNX57Xw@%h(p5$9F5p|VbJPi+Fy%@=TMCuK34oOwzZ+N`%O(GND6R7Xn+L^k{ z6Z7jc5CyQ~RNFx&k~nJuWsnTPXaYw+iHo!G&M7ONFB=$fUp?~46Yhskl(6NQmL+$y zK5obxSHOaJnt}Y@I8GmW__Q!DV?5}aD|ZWyZ@ZUn1IW`t-a)u+cw$g>1O!spiH;a0 z0z6=?;Hv|o4qPApQup3-b*??Po8jgJgoHjJqJruJw2!fwC(sR7Tb1*D`>wp1ICdWb z=lVyK*coJtjo<;fIAS|S-tN9lh3Vzx$dg-w+#@bQ8l>j8kxfq*t1BeBXe~bVYR}-f zT4anH#-t9(`%G>q;}1M1PUu837ofsPAqvdErIsjN-XF)vtr7u|sTfRR6Swb8gst}K zpj2<9zVM;EM#`%^tYRlyJ)S4w(57~JTc&0r>7!$Q#E02DL&FsP=1}>7n(1=w6yDwu zakyH{G*Urs-0V(u`nnf>;5JLct9y=*Zu~BiDVWqzQjK35^=Vq_kQyRHel&Y!Un*g6 z@7VqJ2gzH3zm7Th^WJvTp6;xW~!xyC1ezN^mH&HX9gCa4yZ3Q6JtR5C^6f@_k{ zU0chWm%?7bgj#clmP4w_!(poLTRR*Ls?3OVw|KX5*^R8u9Z>Fh%p_K6yljshQ>Q;4 zN2hLJV&IVno|HwVie>e?rTVyD^3Xn1^12|H)NKgG;-E1oJxd#w=*ZgjC zqjw@;Q@!~&bY5kHO1IR+(^B&n%ygQ4T>aPOZlPmYW&SuLo z#LdAJ?%qxIaj#m^Ua>8e^kJ2$$GUqP<+crt8Qh~O%&uqpFqg&uAYV5_{>~dX3(lx> zuozz(B>(K(M@A$64jtFUSz(6sp;PfDG2kW1b7e1kvc+377Y+Qp>)9sm-=X%ncX6S& zXH@u$;0RofvGskHV1C_xUhG%qQ~`~__T0+z1#hjbBG=eaCWLJO4uclK^X_0wl~}%wdGlW=3fT#H?)d14a4VORA&r zyW-354dkzey#m4gBLamZ+r(=V>S)dDeZ1cgjHJM4)lw_Ihiq>v1g`Jn@5IX~g zvZrGvYUW?2tLyAns^8AUzI-S9QnTnat<&hTyOGWlHXjY$*h6vg}!0l9k|N#gQsDR#YykP~B?UzJ7ttKa5+|Cqc={x$s za`g$+WDPa(An8kTOuBFQ`zQ(pU{>B!?kLFASZhSqy}3)!bgmoTHbQ-+n>sBMxZcv^*8M8DC%39U7-g^^mbeKW&x=J|3LRB%`8Jf_ zQjruX;T|#Q$vW{f^?Eyilga@5j;U?0Drr|Y8nn>=Yft#lm z8b0ab>xypTlYaeNOu3>*NJm>U_>F*iHX+H0CPXqgc}#u6W6Ztb0+#iryMZ*#4w1F3Nm;;SV%KHIQA62=-|Q6S22>kmX`7}oEFV+gqoxi&tYsJXX_ReF$wj z*>ur!{yM8W0K*9Dzr!`}a z#q_dHO;Ljeyn5FVc3Z3RPUI9=i{VYOT9!nhgMs*{!t30o{20ne3`H3(q^q}0=j~ycpO@GBd)lrSsYe>DWK6n*X|CuAL=WWRX zviDdpadY@%Lv~aCW0lxyRLnt=jl|`)Jf~Q>UIth=AcpltbPG%;f0?7Y>nTboQJsUW z=*ke0b?C#W<(Dp&9xP1vo?8yOc4PkJ^Lwt2iQR6M)JtcAs|F=G<GJKf#WtvMD7E zDx@`<8m%dI@94)l_kGO&{Rzcz|6$9NX2oq4pi4&Rcw*P+en|f) z8A!DxB!-ed4gBR=D*hmjEqfi(om!CLn6=d_)p{mjUUlo2tx7k{Sjx+SajV$f$^m@h54TPJvj<=iVRzmz>&-Un?U&kVX&xPGzY$IP}y=oP}%OD{CHftm` z2<2=T*ZlO^z~x42)GUo;eB4f!z2!|<)q;B{E+*Z|#_o-x_tl4d+a7+8VlAc}GcX%F zsHS_@`NnIy?tD3K{jkhJ(mwb~D$`aM4P3yo_%@f72IVd9h(Jt2NZh z_OT(%@4OQduJztdPFPa z!i+LGJZ0aX;yx*PIF?9~!HVB!m__*qxy`ScJj%FxVH{B+D0%j++>4~WRu^LCtTThS z@d>ni-BI#E%h`pjE&lY2%E&6SeIbWtxQYD0mqz9vw(UGw5q%SIK-84Ymu8cR?}N&k zuT(^R3zJ=-F&w3t)Y1#ipSe2~kiDA2!olBy6TR5OHl&Y3@XXf}u8a#z;b`=Y+CsvX z68THf@xGXhjE2sa3mjXHu8x!WolNfMkPPyN=f*&TW zrkUG&exKSJbOt$3t1LE|GFG#mGR%G1^!ljSTS$XaJK*fBE zqSlA4_nk7Fy8Fl0BHT!-G#o-+av?%M0)hip(S@x4Az!uYjno(H(Ly>0hw$nXX=c32 z$l`%O7Q>oIK_$Mm+g{}|L@9k@1T|M6Es_Lfyr>r=h-FSj@@vk-oJ+jyC*vD1!;CVI z(&FIr9D*@)A@hb~1xL@9%`r{_Zd@eT)vquuhgw|l;?+^Q{_AU?i$3v_CSzBdBd-?c z&v}@KSNssc)=`HsgFQiTllfU6y#C`EoU*{}GxtPJ zQzFZ;HA*RgI2A)-m8kF(!BJ+_1eU9Zh-Ii*#0QAcLQ3FQv1sAM!$8Kd%(yYH=!iJF zkrmedL;0{v%snkE7l7Wg5ccC~7`-h#kv3g0oW(UH)){y4mnPG=na0K;@=G7GQafp{ z?pEe1O#B-nN*8$u;aqW{TVKIm3SuaTP6O26dgFQG#lM{ZyB(e zEMP@RF~sXBzsneV0>z7B3*=;+ExRD=hXrlnEE9nYx;BNfBw~P z(<_pSbVcK{w_vt~MfXKBZqTVqeT{4JE*2jXZ;fMYzFz!TH08@6JbkN}mdy0nS&4 zW&D%w?${;$w88%--`(d-=6eO7cnSS6&GM^{vDcvV^r4T-BJ7c+38U*Nb8e=1N*Mt# zUiLvKK4=Wa-~+7r|(zjI%t3F(n8rO4 zY~ku@VFZp|;i0RxOAg%6Wbevm?~~547pw7&XGw+&v_hFrlxuv8E{w0h5PxOfowlEe*SA}iYUK%=^V#Y9fSR3b4myleS)KHf)UYE9AmqA~jC03tfSfA%p ze>=Ipu%W(qy#CI1eJOoIxmZJ`VMDb~Lv3;cMQEmRyy4zBcTY z6fFSMncVnTg_CxL<T7cp#R4$F;nG7c_AX@I$kMtl=rt`ow z;5V9yrKJ`22$Tv03Z}HIPXmmmYsHN2{i?5#HhQ4o`(POX{afON=8we7EU*b^3{V3A zC=wSejKB2$C2`SDg{D#YBXOZaq&?B;9c|?wN#zo}fii$&Ml%I3507IE;poF-gKNFQsHA&Cx;tn1sGluY0^0z zqY7*yJq_?AdFGvUSxI(0wT`g*2#*E0ffE!qg?E5XrQ%h;V|LHhKBO_)Mb<0^EI%3g zKTBMg>^xuICf;*;diCuMMbc7($LT&(kff&OD%8!!im0SHp8+x(AptVlJ0TUmbs zl#cgsUb;djmQ_@xH(aJtH=T#c8ca9CPs$QtEmC_ZQ%%Y{Jtz+ql_5VWlyZfuCFE3@ z5SKNln+(j}89?>pm?uR{0V2ue@lTG0|2E1sPt5#XG(kN0w*xFs90DAKF#ArME>Shp z+35eG#Z+iS2}~;3W+PXfdQrc2USEcNaq5Nu`E(tjyHAHwc{K7T@?_V>lSJp(Zrg>7 z>l76696t-2sknTnx@t#{U)lX+VFV3_yiq{EvSbFXpJf3rHj|@*C!cuPhHFamXQ?ykHf>84Su-!3Oa1 z(Ja9WceM-QYliufa!+1dqqIh1zxXUw)$Nu{-NCTmq5{fS=wAopM6B#{F?!cQns$sY zb8FQABV5P7YC0M&{IjFfR`==uv!i80-S{O9NQiKeZ%eHIyTsq$cYYcD*8(rGzkkLw zU4QU?vPgrKadKf_V>bDGsdZ$5!uBi3MRw1}MOU3)-*FY5ICr!B)5Dr`*G|%`!@X9! zd}BHzReuDn4;io|sB<4&ephWy3;s_aL;`In{Vy?!FWv%Z+kgI@30RoDq@^ihH&n+m z5&Guk8k8`%NDU9F&`o4l^*r{HsTx!jfCbBM$q172FyGE`7{EP8ugUQ|Z0Fo_e3qf6 zb<4L!uBtbkDH|`cZORKUgEwjh|7;VDR)icA95laG&k>-(KV#5&J~55p)}x%^j*mFV zi{p+kqiGmFm}kkj+IKq3H9($0c{cC5POFkYqVS>i36H+`Q?#Ie|U)P^6udAVMUj3BPQ~RUg z&2Mj;2CbNXJoeXlu>|r_VnpPx^8ze5{3k|0UeiL97&)amxCCi+BLPp2%_%qJE)A!l zSZ^FJNDK6537qHEF0>HD<)0i7*JCZ@NBNQ?lTCKw8&3*^ijN%^tb}iuOA0Ga zG~|u-r`SGBwi16ZuG6Njyv^`y&&#Cw$f9k{!K2AE{^tFcZya|0Nhw735w*yWji*zm z)c-m!3c#Nfg|t7pgCe8$w>T8xL(j`!Hm0`q3H@xmCHg@wUE1O8(u1gYbF{Ra8!-2h)+Fx&^KzD79WKRw=x0W`;%BD z`#cR&x?1dH6OhZ$0KlAt%ZSR{xYy5(bWr;ipf_+YipBa#?`A+g?9jxcgQoaQph3)#JkNaka0Nf`}ExyqX7rFX+tb<1f0Z zyqLyA2pnvq!5F|g$W}!@*u~Xiy2Zs4yhU23lO9A<*($sUb9G&gV^81*SHtiOT5*Cy z0>WILR^g9fu{u5$O*Z^q6{7LfDOBcJT%j7o&XFKtGjpgM?InWfql|eZ0xfXqJp+fSI;!OG(eD%O(gYPmi z=2G%XS-h%&bOWZY#@Ahmw^fM2eWC9A9anGmY1D!-d^#w2Eo_v&%ft zVy8FE&{tRMg?+({ZnpfmAWmWq0!V+!Hr7N}6WsGIjMhw1Vw1?*mRptJR{wH3uF4a( z!qPVM2}|wp;vE#iZ$zEFb*F@@W~cM2K=-nFpVS9P$`!|}{Y7#u_7gq7*`f*N*M?n} zGze<(Qa8Fje|+A5!X}L?X=Ch>&w(IPO}U!@#8-CQAxt}!oOwN#sE;i=1i&l zqt&K+34vE@%@o0zZ5l@{pV~C{rLu<;7?vXTRaL&IO-G!07roaHl8G>xQGNa^gSYiq z4lqC^b9|mkmoM~N{~ly8jLQ9*|MdJG05Gn>WCs=t96m$)$zyJJwrqKz@+D-H{jyvG8l=9k*AB@UE zMfc%G61fs>W7|z$ylw9?TV{JUi*lYQZ)Ig%QTo!xS9Noj8fY5v_3^)plo=2SWC9>5 zhwd(bj`8SE0*V4-8P&Wpqc!3f8B`*=Gs_2}*!Z0X7XUHoG2EwLFGK^Yo)Ui_AqoPu z+@9u8e-rh(APtxxp1e~i`}tf*D{ABF_g?Sm!%?7VCJ5=AdMvv{%Gg=5!}*>1NxW(_#3V{rg(n`Y<}F;5A6V;KO*9 z_e_6RnZI(T8IbLtC1?L{OAend#mCe9R(6DZEgeiiNSaL4$$;RTvSLT?Z2&P0iSXZB z;?m?n4Lv5oC*srbS^7~MTlQ3+T=AJSeS%+;P| zcG`h4w>2Qfak^n*FH760sqd?Q5SuKuBHEBY z1|TS&P5oz?I3gH}ay-n4)`+L&!OM#TVfz!1+-~i*S?_g;KOlFNf`Z7ZM5zgRd9~a6g7)}S|o1pB(?Q{UYX7*=(x$w zBhi3EwO$Edba46UEo$j$C0M^sNxfy>37f489)c#+@UngUviuyR&mmc%5~%sKTH~XF zm)y1HJ{_uEsmQMR04I{sbA&nv$JgfpOpK?#pG@C9rzwz`yK{Vj0-{d1ED0~9TQ>dz zQ52n`ZESb^Jor2N)UA_KtngNgt z$nqDdS);f>!rGW3ZAeRp)E+gXxPYd*&jK>z!o)*NE`(QAVkuPzAK%1585eRXUg?7X zzs5d8V%*~U+VoeV6;BV|KxS6sStSU_m&a$zaNK$+2ZNNCpz6#jPEzS3KeTUG08c79 z?b^pF*vF3hlk1w5h;7samSrx~m!o z(-La`;gz1rE^1i?#m2_O-xjl6vjt04=||1P)`^e_v5-=%`bypV1f~@FSfqK|Piah- zvY48tvb!(W!^YuMC&A0l22ym4i?@FbkozGT4s#6(y8YmV7V4a&U#_lo)*aywZv`^U zmsQeZKd%ol=xgP4Mbb*i;`(2?^v(t9uf!;QeX66T7Jj4Ym1%roKAqGJi&f}Gd!4?1 z=7on}Ds+5BT9og+%1EG(;IMNR*f3zF<8PXM;v*D8rf6A)gP3E%om)EzOrH@?owY?0Vp+_>ZI(lG zaBkDS5o^16W>MQdd?-}|H8piEVsJTtJwg-2>$X)gSpD5t{?Cv5U(+yGfIe8^Y+H10fxgZQ(D`{4u3~ssM%F#*d(CllIOy0VD4T5- zw|28ce*&G!=K?HRz}Ae!{_AmHvoBJtS5pAOxN0VDi&`(cwR5?h@SiEYch%ux}G;FAyoF*I6^-hJh)Wlz8c5u4A<~UY@U_BWRqX}h3_RT$NAfNH1Mz$(%*&}aBg63zs=@ooEAYKxT$NCfeBFH#uP)e$ zH)7s=gA{@cD>~TtQmk2yP*(IR3!>aa^hb4+JnW;Cq31>Cb1y@+rJ}@53jF|ROOh+o z(eInmIh2md3A+89S2GFj#>w#gb=Mb{zxzP{FYAmpke8BVF%+vd{!oPJ;aEzYp-}2S zbSdf&rB0Nt7>sAb9K9Z$hUuiBWK_VMdl-ZCYiibSMrTW(B#Ap*iJ%QBGtS@ex$F1y z9s!@fr=-ZS&RMGs1{MG&vYnNid z>3^In?Kx2_YV>`AL&|lwoZ9F_&F%oJm+$s9`;`Rwg7N69pTD|h6l(&1hj&egwEVcT zI*|3lgai7Y*2>>`R{4L+v;R$x{(nr5HsaF2Lmm(lYp_VFD{ScgnrGnStx)$`@Et7@fXj_j~3}Io5LQ$5HkQx)2hxVU#Y>r z_z+T4`bcP1RNN2#~n~CvPz)9?< z=a1wU0<|7!f>*zeoF=O6f%E#UceN1=Yr#MfB|==29J}R%NzDA5Cb#$xiRtH>zxJo5 zb@^gLXE&tZ%HvGCB=*iS8K3_Kpc>;hd&Lxc@0+H^Gb(_{sk|ArKuYSlX)(v*w=|&B z=m&jR|3|+~hl0--fpAhMnk}90ZfXEDxx=6DWXLlN;+5VtucVy?&mKMikZ+#JPJSOQ zN7SVC&u!>h^B=(*h^17eJj50F5r1scNVX-fwT#^TVexOgu1^7Qe`m~W0QFx?2uGy< zgi_;(zDN*bU^?2j0VFjfo(g>yk1mJm5`QaA9WGF=W@ms!O*DU+UIemvA800To_QCe zn67@LI$y?QNNL5Oa`jpW=H)aWfB>Bq3UE)M7keACLdlrs)gZ42kUzPl1o@V$eSs;Ahc}YPE-~4332@UrRAu9FH;Z5NlAf!68k;C>2H2%eM(}dc?3-~ zgJSx*K*utn;k&wkC^)wTBW#6lIEh=;?OJxK|qcJy)nK7b}R9mNDyY7?Z7P4VPC zsJ-788>0+!i>O^;#OR$8>AziW#&Hu2Z{P9-SZ!!r2XTA-)>Ejr0+b#9ZUlK}k?Q^e zihx=xgFg^i^VLdYv%zZ$fUQOqfaKhAw}T{-|FPg7 zq|EV;qhtRUF@n+Xs%@U3AZ2Dgq+gxcszx%BPO<&cOz8-SL-uHn)?)1ui1kD!dy~Z} zMp0bw`>$6kWoksG;8*e@EC3Or6!}3!p zMd+Lfo~S8Zt_3{dK!%1(M?Z~%i*mJlN%QNZ^Kh$xy<14=3(T|!stflo0vQ#cQe1(s z@+Tk>7j)Iut`mU{b0T>(BIo)vgnkMdtleIt6~Gj)s37uXm8y{DI)z`4FH`t+mFKsv z4ki$VUnfr5U#0Nt6Ld7y@I1**AL|H13Gjk{u|9JMoi!O^%X-u!ssi(HJXyB z+%yV`@e3YhVwoNuMc?ml8>W)q4K7BH$jVKgETrx~XbMbi)1(qu+s78H9I*)DS$><& z=q{JH-%_Pz412*`DzW#H?p&Z8?tb^`!5mZA?{5p>pgWoB&^LsuI3M8yX7Ek@J;fOh zxlj|TYc5v7*WNHj&h@=@7Z%8vVG>Y3T#ly#`~}s~WcO!On%s~-P(7E`|K~I48t6Kr z$?T->1IYC=i$cjYXDIl^;aty0kTRAIB;GE=utPnWUFGrbG>8KVQu;$2l#}-8e<5^g zTDW%NpN0V)51vB(C$Tn7()Vr*1!~5eOJ%#Vy?LK7L}=#y1Kvvw;zU{6Bo2ek8*J|| zPE}nGo@uhp73q{eoJG{?6e#Y<9|EfIhx2@_m4M8K2!C5l9Bm0X6giwSPu`e`QY%peV&2c8WbDN?~$n|En;uD<@k)$vDGOhzgt1 zO1dBs&O<@#G?#{BsE&gU7N%YFvv|%CDYRlaMzzVU!+t0eYeeAZ^i=Z>T&uBxU;pmM zn#G1I2Ypjmc%c8P!cyPi$*=k0dWmughr15rn|#lkB!5T7xa3r;&5-3@AN~ zq$c>7g@m*7Z<2q^A9^zSs^j=F;4_aNr7AeUw%0YFphP;gmu02xwCOy}ncp)$X%p7D zB(jcwUVIw)3;Iu6=O3#i{wY>*fQ$Zr`lC3aKZ?h3p=`1uj+R?J)^?Y~W8EkM&#eop z97sP^y6U&kQ2B)BCP!GrM%nqMBzlg$hZfd zrXf5HU^+smp-lnzqtJiW*MNoqMj*^7VmpLk#OyI$HHAK9SF!z>-Tr&jssWUwtn5#T z$pTzt^4kBy@KR{x(cw@sAc}#T%lPp5AEydfG;y?&b<-J{g1G{rZljd8BL0nBmb*bD zl%vM-XETN2$ywb^DZKEZi-!C6SYtR8q*D&iwCf#cc6mVQIJVnOvp7=4oG_2FMjO0I zc093;wV(s_wI&a69prr1tQe;(5f|t%;}|12xOw#PM?fhl`d>U$6Nm<~0{$?z!#|Ae zFhG-=2w|m1O|MW!f>g%}5p~iP+6ip5_Pqt>l}|HJs#lH|Tv#eo`8Cx0Y+(ZWk*t^= z@J}hv{#^9)MS(=twX+aOjdA|PGOrk&6sY~*11>8xop#X+{<(7ulp&~erq4^F%~{;& zH~DRis>a#oqaT3iu_%A&Vb1WkPgp%m1ckcYml8KD=@ohtQ>MjTf6eLoZ^P-V%K8*H z$t!uVt;V5jQEc8PtKjw66fCYERTwmHonrJ%_FUcrn?H=rq8q~M+)zMyZ(-ASMy#r! z|J(lUul!GZPrt)X^vMNGc5rnBszY@ z3KshXQ;zLMEr~`F^k71kJsQt-BR4r@N_D?vm-2Ry+JS}&%WlTZNiT)g8L{ph%;}cO zg}nqToP)ktmhbzf>C7OIF~(GN=lcREPm%>tb~vYrz(4pO?VWoxl<(Td=U~P-OhXvQ z#<7GUMGi$~FicVn<*cG4M5%;OV~}GCDJthwa>zKRaz5mc3?W3J6qSe+!o2s4_HWyJ z_uFf|?|Rq%XaD}5wPv3CexAAR?{$4Y*Yzy5E9Pr0d4q$~6P%phS1Xz!{+rmz9KmNO z>R~4Y;xYE@hh8V1@}qa#aTCR9v=Mj}daz~eHdEAQnYsuAb&F!HuZN;VVGHx(3LWWDVlboZcychZ zmQNm*CDE4;3B_>=FP-7ne{V`%;5H?TWQDhO;mxb>2W&+*2{qRN+vzK?y(fa_qZ?8d6S zBe*s<_%(0~^pJpR55DC2Vzk|#&&vh=L#ccK&qiH%cg6FH?PU-m?; zK9YZzxBO|Q^Y0UyKmDqe?Gyts?G4z@72gBJxz-f;9<|^d1STQAlo7*7<`?ULCRGSh z%-q3dU^YJ#9RlSJ=#tJ#R3L71V`zR~sWj;ETga1cT6MaaH{g$Z1bA z3YB@fl#(sjnvsJ{<$hLP$90`xCA_XnkxyUT*s;J_NRi?atl>y26#BULja|X%@y_!; z!jrZYUhNfaJl11n$dJ);kLriCL$tjh4ICXZPRctsuSs3p+Y*)g>=aq0ig#ME?)gB09(*f3 z?4I@~Q%W057qX>UU+w^tuszfSWNMP3d>^fY^foMo7{_w=9#o&m@Oj-_vqKqj1BnbREH1ZRX2 zJfwy|WsY!xl?z=he~*};fqI+>%8$6V?pHu&2O}e>G^mw`f(TOfN8<2z=M=oz_;s7FcqDVji1K=u**U!R{bF>!GWJ^ zIdbEZTTc)gQat~`1p}jYR`0?04&NXhI`cCc@Q=Or!9V9_)mHlnBJ98$q|##Nphu* z@AGsbm1Ajq(R&~6`4x1~dmzZWSQjSr&A7OYRfj??Y6gzsjQB3h8e|tkfrX+vaZYhU za#QHCCHa*tJ8e(|#!&t*W9UzhC-w&#AU zzNtJ#=Knp{(|sSHM`-EBU@eY_t(pI4I&MULjVPo>e! z5&>K>{Ubl4CDVg%@n@-nSqqf16C@EBeIYUvyA?t|7Mq*J%(Os1b}_>jS?0{!z3R!c zGmc{&$E9Chl@(&OPsbN3J3RE@;VBi2N+@=23nUF_-d?7~|H?4NJAeFQSSK z=ggg|{E()fPu(ayQssm0pZeVQ)t*6$TJDxx$b)v0wvL{4CtUmZB7wCiK#a)Itd@>? z6tNx^WWMvDEElWr{A9VV_@f078*#wz+AG#iC2Q)E7BE5TRBG%au}ks%K|=l_P)i+= zedb1S@|#SAas)c9Ltd;&5sEU;zLz0%#x`W9=NPrXHV?MsCFDjg=B#oPnd^2ieo`hLG zl$=00|7)(kZpQlq9EMDY;&Hm1i)eTxPB1*#_aj%1Ug7H=GQ~c0$cYqKD}qgL;2Xlw zi^RPD3Hu}2Jl`RXKlqqjgDunKsBJQ*Ir+)o8;%s8kmLH|(^arbyEa2SA({T37xrx? z_eq24A34&XO)!MXi&t5z-{2X4pIcbl0Rr0@uoo&4a_n=GC{w`LSHeeUYCFQz6Bf3f zC-bBfDN~}L{(~UH=ow=CF{)m17w;apj&O0444hZ4y@*?VNWFuE@$%|qHvMw0n$4IX zAA)?QRqG8&RiEwJXE)fW$oFmp!(oxuUqUd}1jbbXz7q*sCTkT{5131yS64DN0Lcy& zzKq#W@T8V|Lr~NpQT%j!MRSK2Pi1&zq-5r~4+0g_kxKbVXutQnR+F>4phCYw`ME!c zIN+$L|8i8;0!KxL6d@pM+cif?h4G3kRR9n!gybb>5Omyuf~$cc1nGFTk+KUIDTeg- zI1XT>4D|^RZdtL66bhoV3Tbq%6sqVkR+VfhOawg8+x9gcNh$;5P5d2U+qqVgP=A^# z{I5RvKc*wU`wjM2{iWIe!j%3)n9{_P2NUv7R~Z|QXhvh{Wi9cWa)WZcY-b}2!?#^i5sHZbss`l8F@7ZR|_UT5nW_+QG@+&;wbFQUa zpxK!QUiz2;N9lG6&G?udM)FIAU0fCWO1k07Z47O`&mG(^HIKA0G|@2!y!EFA2O%8j z%)IXm_Z8=&re)x0s}`^>*pyMgo6kSi6%t~2UP}tUhCuwsdRXzuz;~FF2qF=WNccIT zzZ6|xJcW9YQh$AQz%c}peGQu$zVnC7WqB9Ao&<5A!`8S=c{m{;#Gu@GyW~Tvz6I7Jt)K>eOOa>+I#cen zAeO3?MaV68b%NPZl!UE8Liz;<&Vb5J-dZ007)$=q8eN`kfZ*JCf@oC4yE=**u%#}` z=MVZN&w=p(T=HJ2zq{mBoch^2n+V^T&Gi z)-}bFjEcBd`ys!JuYao9*@4#pDh{3%99YO(pxNnDC+n+%Q37jR9Q5^T!(cxYvPSqu zK#R-5R+l5S83d}Rre8g(GnE`Jw<~48wfRwTW4ztMi?Zq4rqszjDkcgu_QBgPd%wnW zJ*d%3ml~zHSAU~*Br_MAfdeiXqQRBEXQ?dhjV6aGrcq3_q-_JLJlB%u<;g0lVar#F zYAE6H!B5;k=lZ_-(tRtEA6Vf|T)12xOZ=|;Sd4drEC1cyoK~)vyWK2uYjWhM&Wk3~ z8N2hpJFi=G<-bqDa59gV05huT+$?U%-LBy2UO+JV#**>HI*`DTc0G&wwX=qVeJm_1 zAQ++)VqO+wXAtv2T)7s@|eKZEugLpF5oth2qkhyPsk>Qm=;vFHC=CK>{F zV8zAm1H~vMHpY*136EA5_{{j(hVp^w_w_(fzr1_JE#Q2hD1I#^B?m_us1(7h)a17=;8HPMpHp>Vayi+iq{+-YL9=aZZ{2Cdfm_R!x>=vhQ(BRM%&pdP-Kjc&#oC$$ zix6_WANC4A#(4sImvn_wqEdi|mDGzI!Sbd>gE|$kJ4+qB3{jnn%Hb}aEZj$`@WB}3(yAxVV4!dn;u(jl0xquSyq17#KC2EaduCgH0{br16=s) z)R4j!J3UdC!x|6Ac19Sayv&f1CO$vKUcF(~Ru88*<*2^!Mn-$@O|l5B+uKr2 z)Kp8Xg3OCRi|T|EJam+f?r3FdBoH!8*V~2UoM9FWt+$k$*sJb&zw!qqR5qW~_}Y9} z-{ZT7o_jb|)!SWPn>+;-93DP);Ao7Yptz*=lNbYTES-={b0-pMU}}(lxaSJMFKFy| z5&N()^`xDrl`&1WkOlB3jolIw%j(Wx0sJI)%r(om(JAY$TZaOGAK^qO1pt5FIyS%` zV;Sd{K0a$0~Ws9A;jqP z_t6(Z7HZA+xH9KpKHlb9Xh9sgx=!X+{T54iOW=&9rHrHz?curtAPKHgC z?Qr9H&1WzvczG7OB$2|$)ZVo3_?f$I#gJqx zr*Vi1bU(!KAO3_W0Y!Tk&scmYpR7qzlV>a`Qbf&7$K~rt;}t1s?{6Z7nLB9(hs{3v z7Op2p6&O8Ais%@*8+#wyF<{dnlb0BEcv>QoaabuT8DAi?vv^!)ms0S1r@rEGEhky+ z=q{VHSydP6w|U=eDgIM=ybYUhTUvz_&Z^akVW2=)x z$-#&po9tKfmQ)10-;yuMoK~to-8`X*_Pd;Y}^${wFtzJ~Sljoaa7^QXga7Mn#E{ zTGX98?oyIr(cH5N-PzmojS%yD?^nnnqGw6qr&cm#btOff%z@H&ve zniNrxyah~(;9yUR2ySBy2BG%>g6FGi4|qDQv8$fWvyeonEJPk`ACT|tu52Q0d2yY6 zQ;ehjMYOEO{zOU!cs-ud!2!^A*%-ZcyPqJ}Y3b%G>oIW>H#+5v;+6TcL;6my*T1>m z3aBYys9<~!H)|ee@(565E9;2{BZMaV(>a$+e;!_j_kZ7 zvo}NiKHbqIT1oo4gviWrV-)&Wso>b!QJN!|$UWc-;h@|w(B{^eYTsy{q{7_n;n$T} ze+Qmy+n{BUW*KRA2fL_Pc)TYY*T&stT$*7^o9x#QP?|~_xaftr0FU)f)5({D&9rG* zq(CUU4I=6lSEhgv4}yCONn_pHbZfc4-`fWE6cFfH;u-Yy5N};Nm}ru<+KwPX%As2z z3SgNmJ3@lY9#?|^e}6g{K!6n95<)JJA%^lOyM<_Ne%pA3Q+{~{RrszcN@n*7Q|-7r zCXp&TD?>!h-kXN0*u8%u%AanSq9xGJVM}o`j@TZN($#0~O3B=v%)NBuRM!5BxY!L9 zk*5`2hEl46N)$_nX^uzN;UF{({dyR9*I`~;WSF3oSH|YUY z$^0=wIxw*sv?A^FuTB_Z4R;ZgWVIr_X=Tp7D#M&yWk+a2oO;^>nwI#4BTH@IL6e~X857&iQD@#k)T896+$Kf4(SIL zDi}kAG6I+X?ZaM{sl;kNrArY*QNlYyv=~E%;XItqmqbq8ZV1IOFYa&Rf7cizrk2q) zSCB!zsJO4veQtWV0bb{}Z9ri)>!1!9hr-xh!U)LHJkKhc?RRqgPfG#6{b2k50Co`; A1ONa4 diff --git a/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif b/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif deleted file mode 100644 index 105e6384ec6678da44f2a59928150276fd092a8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40439 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 From 1f6ed7640bd388f62e7dc8c90c8c755cb6f40a53 Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Wed, 20 Mar 2024 11:38:43 +0530 Subject: [PATCH 032/134] 869993: committed missed contents. --- .../polygon-shape-highlight.cs | 29 +++++++ .../polygon/polygon-shape-highlight/razor | 74 +++++++++++++++++ .../polygon/polygon-shape-highlight/tagHelper | 82 +++++++++++++++++++ .../polygon-shape-selection.cs | 29 +++++++ .../polygon/polygon-shape-selection/razor | 74 +++++++++++++++++ .../polygon/polygon-shape-selection/tagHelper | 82 +++++++++++++++++++ 6 files changed, 370 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor create mode 100644 ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs new file mode 100644 index 0000000000..a720d8b43a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/polygon-shape-highlight.cs @@ -0,0 +1,29 @@ +using Newtonsoft.Json; +using Syncfusion.EJ2.Charts; + +namespace EJ2_Core_Application.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() + { + ViewBag.worldmap = GetWorldMap(); + ViewBag.world_map = GetMap(); + return View(); + } + + // To access the data in Core + public object GetWorldMap() + { + string allText = System.IO.File.ReadAllText("./wwwroot/scripts/MapsData/WorldMap.js"); + return JsonConvert.DeserializeObject(allText); + } + + // To access the data in MVC + public object GetMap() + { + string allText = System.IO.File.ReadAllText(Server.MapPath("~/App_Data/WorldMap.json")); + return JsonConvert.DeserializeObject(allText, typeof(object)); + } + } +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor new file mode 100644 index 0000000000..4ff2dab42a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/razor @@ -0,0 +1,74 @@ +@using Syncfusion.EJ2.Maps; + +@{ + var data = new[] + { + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, + new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, + new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, + new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, + new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, + new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, + new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, + new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, + new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, + new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, + new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, + new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, + new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, + new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, + new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, + new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, + new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, + new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, + new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, + new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, + new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, + new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, + new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, + new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, + new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, + new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, + new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, + new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, + new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, + new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, + new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, + new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, + new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } + }; + + + var polygons = new List + { + new Syncfusion.EJ2.Maps.MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } + }; + + var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings + { + Enable = true, Fill = "yellow", Opacity = 0.4, + Border = new MapsBorder + { + Color ="blue", + Opacity = 0.6, + Width=4 + } + }; + + var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings + { + Enable = true, + Fill = "red", + EnableMultiSelect = false, + Opacity = 0.7, + Border = new MapsBorder + { + Color = "green", + Opacity = 0.7, + Width = 2 + } + }; +} + +@(Html.EJS().Maps("maps").Layers(layers => { layers.PolygonSettings(polygon => { polygon.Polygons(polygons).HighlightSettings(highlight).SelectionSettings(selection); }).ShapeData(ViewBag.world_map).Add(); }).Render()) \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper new file mode 100644 index 0000000000..0ed75a4fe8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-highlight/tagHelper @@ -0,0 +1,82 @@ +@using Syncfusion.EJ2.Maps + +@{ + var data = new[] + { + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, + new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, + new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, + new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, + new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, + new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, + new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, + new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, + new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, + new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, + new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, + new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, + new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, + new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, + new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, + new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, + new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, + new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, + new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, + new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, + new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, + new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, + new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, + new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, + new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, + new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, + new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, + new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, + new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, + new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, + new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, + new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, + new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } + }; + + + var polygons = new List + { + new MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } + }; + + var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings + { + Enable = true, Fill = "yellow", Opacity = 0.4, + Border = new MapsBorder + { + Color ="blue", + Opacity = 0.6, + Width=4 + } + }; + + var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings + { + Enable = true, + Fill = "red", + EnableMultiSelect = false, + Opacity = 0.7, + Border = new MapsBorder + { + Color = "green", + Opacity = 0.7, + Width = 2 + } + }; + +} + + + + + + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs new file mode 100644 index 0000000000..a720d8b43a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/polygon-shape-selection.cs @@ -0,0 +1,29 @@ +using Newtonsoft.Json; +using Syncfusion.EJ2.Charts; + +namespace EJ2_Core_Application.Controllers +{ + public class HomeController : Controller + { + public IActionResult Index() + { + ViewBag.worldmap = GetWorldMap(); + ViewBag.world_map = GetMap(); + return View(); + } + + // To access the data in Core + public object GetWorldMap() + { + string allText = System.IO.File.ReadAllText("./wwwroot/scripts/MapsData/WorldMap.js"); + return JsonConvert.DeserializeObject(allText); + } + + // To access the data in MVC + public object GetMap() + { + string allText = System.IO.File.ReadAllText(Server.MapPath("~/App_Data/WorldMap.json")); + return JsonConvert.DeserializeObject(allText, typeof(object)); + } + } +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor new file mode 100644 index 0000000000..c411172799 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/razor @@ -0,0 +1,74 @@ +@using Syncfusion.EJ2.Maps; + +@{ + var data = new[] + { + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, + new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, + new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, + new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, + new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, + new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, + new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, + new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, + new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, + new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, + new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, + new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, + new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, + new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, + new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, + new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, + new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, + new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, + new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, + new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, + new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, + new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, + new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, + new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, + new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, + new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, + new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, + new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, + new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, + new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, + new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, + new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, + new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } + }; + + + var polygons = new List + { + new Syncfusion.EJ2.Maps.MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } + }; + + var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings + { + Enable = true, Fill = "blue", Opacity = 0.7, + Border = new MapsBorder + { + Color ="green", + Opacity = 0.7, + Width=2 + } + }; + + var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings + { + Enable = true, + Fill = "violet", + EnableMultiSelect = false, + Opacity = 0.8, + Border = new MapsBorder + { + Color = "cyan", + Opacity = 1, + Width = 7 + } + }; +} + +@(Html.EJS().Maps("maps").Layers(layers => { layers.PolygonSettings(polygon => { polygon.Polygons(polygons).HighlightSettings(highlight).SelectionSettings(selection); }).ShapeData(ViewBag.world_map).Add(); }).Render()) \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper new file mode 100644 index 0000000000..84e3296b3a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/maps/polygon/polygon-shape-selection/tagHelper @@ -0,0 +1,82 @@ +@using Syncfusion.EJ2.Maps + +@{ + var data = new[] + { + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 }, + new { longitude = -1.6479633699113947, latitude = 33.58989612266137 }, + new { longitude = -1.4201220366858252, latitude = 32.819439646045254 }, + new { longitude = -1.197974596225663, latitude = 32.26940895444655 }, + new { longitude = -2.891112397949655, latitude = 32.10303058820031 }, + new { longitude = -3.8246984550501963, latitude = 31.34551662687602 }, + new { longitude = -3.720166273688733, latitude = 30.758086682848685 }, + new { longitude = -5.6571886081189575, latitude = 29.613582597203006 }, + new { longitude = -7.423353242214745, latitude = 29.44328441403087 }, + new { longitude = -8.6048931685323, latitude = 28.761444633616776 }, + new { longitude = -8.695726975465703, latitude = 27.353491085576195 }, + new { longitude = 3.837867279970908, latitude = 19.15916564839422 }, + new { longitude = 6.0705408799045415, latitude = 19.48749097192868 }, + new { longitude = 12.055736352807713, latitude = 23.694596786078293 }, + new { longitude = 11.272522332402986, latitude = 24.289329186946034 }, + new { longitude = 10.30872578261932, latitude = 24.65419958524693 }, + new { longitude = 9.910236690050027, latitude = 25.48943950947175 }, + new { longitude = 9.432639882414293, latitude = 26.398372489836902 }, + new { longitude = 9.898266456582292, latitude = 26.73489453809293 }, + new { longitude = 9.560243026853641, latitude = 30.31040379467153 }, + new { longitude = 8.943853847283322, latitude = 32.350324876652195 }, + new { longitude = 7.57004059025715, latitude = 33.75071049019398 }, + new { longitude = 8.0906322609153, latitude = 34.69043151009983 }, + new { longitude = 8.363285449347273, latitude = 35.38654406371319 }, + new { longitude = 8.26139549449448, latitude = 36.44751078733985 }, + new { longitude = 8.61100824823302, latitude = 36.881913362940196 }, + new { longitude = 7.4216488925819135, latitude = 37.021408008916254 }, + new { longitude = 6.461182254165351, latitude = 36.99092409199429 }, + new { longitude = 5.297178918070159, latitude = 36.69985479014656 }, + new { longitude = 3.6718056161224695, latitude = 36.86470546831693 }, + new { longitude = 1.2050052555659931, latitude = 36.57658056301722 }, + new { longitude = -0.26968570003779746, latitude = 35.806903541813625 }, + new { longitude = -0.995191786435754, latitude = 35.58466127904214 }, + new { longitude = -1.8920678947185365, latitude = 35.06195799239681 } + }; + + + var polygons = new List + { + new MapsPolygon{ Points=data, Fill="blue", Opacity=0.7, BorderColor="green", BorderOpacity=0.7, BorderWidth=2 } + }; + + var highlight = new Syncfusion.EJ2.Maps.MapsHighlightSettings + { + Enable = true, Fill = "blue", Opacity = 0.7, + Border = new MapsBorder + { + Color ="green", + Opacity = 0.7, + Width=2 + } + }; + + var selection = new Syncfusion.EJ2.Maps.MapsSelectionSettings + { + Enable = true, + Fill = "violet", + EnableMultiSelect = false, + Opacity = 0.8, + Border = new MapsBorder + { + Color = "cyan", + Opacity = 1, + Width = 7 + } + }; + +} + + + + + + + + + \ No newline at end of file From f10e423d0fd78dc432a35a2414adeb727a0b9b69 Mon Sep 17 00:00:00 2001 From: Indumathi R Date: Wed, 20 Mar 2024 11:40:43 +0530 Subject: [PATCH 033/134] 869993: committed missed contents. --- .../images/Polygon/polygon-shape-highlight.gif | Bin 0 -> 45625 bytes .../images/Polygon/polygon-shape-selection.gif | Bin 0 -> 40439 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif create mode 100644 ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif diff --git a/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif b/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-highlight.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc6c4c3ec7990357cbf3cafeb9af710970aaba63 GIT binary patch literal 45625 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 A1ONa4 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif b/ej2-asp-core-mvc/maps/images/Polygon/polygon-shape-selection.gif new file mode 100644 index 0000000000000000000000000000000000000000..105e6384ec6678da44f2a59928150276fd092a8a GIT binary patch literal 40439 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 literal 0 HcmV?d00001 From c2a513b717c7b0b84fa4e7b9dcf5758067cb3f66 Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Wed, 20 Mar 2024 11:42:00 +0530 Subject: [PATCH 034/134] 875662: commit --- .../how-to/custom-context-menu.md | 12 ++-- .../pagerenderstarted-pagerendercompleted.md | 72 ++++++++++--------- 2 files changed, 44 insertions(+), 40 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md index 6775ddc3c2..15edf4327c 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md @@ -22,7 +22,7 @@ The following code shows how to add custom option in context menu. { text: 'Search In Google', id: 'search_in_google', - iconCss: 'e-icons e-de-ctnr-find' + iconCss: 'e-icons e-search' }, { text: 'Lock Annotation', @@ -64,7 +64,7 @@ The PDF Viewer feature enables customization of custom options and the ability t { text: 'Search In Google', id: 'search_in_google', - iconCss: 'e-icons e-de-ctnr-find' + iconCss: 'e-icons e-search' }, { text: 'Lock Annotation', @@ -106,7 +106,7 @@ The following code shows how to hide/show added custom option in context menu us { text: 'Search In Google', id: 'search_in_google', - iconCss: 'e-icons e-de-ctnr-find' + iconCss: 'e-icons e-search' }, { text: 'Lock Annotation', @@ -165,7 +165,7 @@ The following code shows how to hide/show added custom option in context menu us } }; - function customContextMenuBeforeOpen(args) { + function customContextMenuBeforeOpen(args) { for (var i = 0; i < args.ids.length; i++) { var search = document.getElementById(args.ids[i]); var pdfviewer = document.getElementById('pdfviewer').ej2_instances[0]; @@ -201,6 +201,7 @@ The following code shows how to hide/show added custom option in context menu us } } }; + ``` @@ -214,7 +215,7 @@ The following is the output of custom context menu with customization. { text: 'Search In Google', id: 'search_in_google', - iconCss: 'e-icons e-de-ctnr-find' + iconCss: 'e-icons e-search' }, { text: 'Lock Annotation', @@ -284,6 +285,7 @@ The following is the output of custom context menu with customization. search.style.display = 'block'; } else if (args.ids[i] === "lock_annotation" || args.ids[i] === "unlock_annotation") { var isLockOption = args.ids[i] === "lock_annotation"; + for (var j = 0; j < pdfviewer.selectedItems.annotations.length; j++) { var selectedAnnotation = pdfviewer.selectedItems.annotations[j]; if (selectedAnnotation && selectedAnnotation.annotationSettings) { diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/pagerenderstarted-pagerendercompleted.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/pagerenderstarted-pagerendercompleted.md index 6902e7aabc..e7860d79c0 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/pagerenderstarted-pagerendercompleted.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/pagerenderstarted-pagerendercompleted.md @@ -27,25 +27,27 @@ The `pageRenderComplete` event is triggered when the rendering of a page in the ViewData["Title"] = "Home page"; } -
    - +
    +
    - {% endhighlight %} @@ -55,27 +57,27 @@ pdfviewer.pageRenderComplete = args => { ViewData["Title"] = "Home page"; } -
    - +
    +
    + {% endhighlight %} {% endtabs %} From b893d6f79a015d37e583c41cad9c791660bc45d3 Mon Sep 17 00:00:00 2001 From: indumathi-murali <57896631+indumathi-murali@users.noreply.github.com> Date: Wed, 20 Mar 2024 15:39:16 +0530 Subject: [PATCH 035/134] 869993: committed topic corrections. --- ej2-asp-core-mvc/maps/polygon.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ej2-asp-core-mvc/maps/polygon.md b/ej2-asp-core-mvc/maps/polygon.md index 9949fc7727..d897b0e750 100644 --- a/ej2-asp-core-mvc/maps/polygon.md +++ b/ej2-asp-core-mvc/maps/polygon.md @@ -14,6 +14,8 @@ documentation: ug The Maps component allows you to add polygon shape to a geometry map or an online map by using the properties in the [polygons](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsPolygonSettings.html#Syncfusion_EJ2_Maps_MapsPolygonSettings_Polygons). This section describes how to add polygon shape to the map and customize them. +## Adding polygon shape + The polygon shape can be rendered over the map layer by defining the [points](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Maps.MapsPolygon.html#Syncfusion_EJ2_Maps_MapsPolygon_Points) property in the `polygons` of the Maps component. The `points` property uses a collection of latitude and longitude values to define the polygon shape. The `polygons` provides the following properties for customizing the polygon shape of the Maps component. @@ -41,6 +43,8 @@ The following example shows how to customize the polygon shape over the geometry The Maps component allows you to add polygon shape to a geometry map or an online map by using the properties in the [Polygons](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsPolygonSettings.html#Syncfusion_EJ2_Maps_MapsPolygonSettings_Polygons). This section describes how to add polygon shape to the map and customize them. +## Adding polygon shape + The polygon shape can be rendered over the map layer by defining the [Points](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Maps.MapsPolygon.html#Syncfusion_EJ2_Maps_MapsPolygon_Points) property in the `Polygons` of the Maps component. The `Points` property uses a collection of latitude and longitude values to define the polygon shape. The `Polygons` provides the following properties for customizing the polygon shape of the Maps component. From 17193e2c34b08e8e995e5ddf7450f33e898289b7 Mon Sep 17 00:00:00 2001 From: Indrajith <93306904+IndrajithSrinivasan@users.noreply.github.com> Date: Wed, 20 Mar 2024 16:01:13 +0530 Subject: [PATCH 036/134] 875459: Heading alignments updated. --- ej2-asp-core-toc.html | 2 +- ej2-asp-mvc-toc.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index a10a020e26..be2af8433f 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2143,7 +2143,7 @@
  • Ribbon Layouts
  • File menu
  • Backstage Menu
  • -
  • Contextual Tabs
  • +
  • Contextual Tabs
  • Ribbon Keytips
  • Help Pane Template
  • Tooltip
  • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 5b7c1a68e3..7d0893518c 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -2103,7 +2103,7 @@
  • Ribbon Layouts
  • File menu
  • Backstage Menu
  • -
  • Contextual Tabs
  • +
  • Contextual Tabs
  • Ribbon Keytips
  • Help Pane Template
  • Tooltip
  • From 5b3c5130ba55591bb5eb87b559b32e28de6682b3 Mon Sep 17 00:00:00 2001 From: ShanmugarajanSaravanan <111413468+ShanmugarajanSaravanan@users.noreply.github.com> Date: Wed, 20 Mar 2024 16:03:35 +0530 Subject: [PATCH 037/134] 875461: description updated. --- ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md index 1ae2fa688c..f9165aeb27 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/contextual-tabs.md @@ -18,7 +18,7 @@ You can utilize the [visible](https://help.syncfusion.com/cr/aspnetcore-js2/Sync ## Adding contextual tabs -You can utilize the [contextualTabs](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.ribbon.ribbon.html#Syncfusion_EJ2_Ribbon_Ribbon_ContextualTabs) property to add contextual tabs in the Ribbon. This property accepts an array of Ribbon tabs, where you can add multiple tabs based on your needs. +You can utilize the `e-ribbon-contextual-tabs` tag directive to add contextual tabs in the Ribbon where you can add multiple tabs based on your needs. {% tabs %} {% highlight cshtml tabtitle="CSHTML" %} From bd90a70e857816b5b25f1676c41a4fcf099ed521 Mon Sep 17 00:00:00 2001 From: SF3741 Date: Wed, 20 Mar 2024 17:31:52 +0530 Subject: [PATCH 038/134] 877695: mainNode --- ej2-asp-core-mvc/diagram/nodes.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ej2-asp-core-mvc/diagram/nodes.md b/ej2-asp-core-mvc/diagram/nodes.md index 5d4c0149f7..3f0a2dcf58 100644 --- a/ej2-asp-core-mvc/diagram/nodes.md +++ b/ej2-asp-core-mvc/diagram/nodes.md @@ -196,6 +196,22 @@ N> The flip is also applicable for group and BPMN shapes. {% endtabs %} {% endif %} +## Customize the style of main node on multi-selection. + +The style of the main node can be customized by using the className `e-diagram-first-selection-indicator`. + +Use the following CSS to customize the style of main node on multiple selection. + +```css + + .e-diagram-first-selection-indicator{ + stroke-width: 5px; + stroke: red; + stroke-dasharray: 1,1; + } + +``` + ## Gradient The [`gradient`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Diagrams.DiagramShapeStyle.html#Syncfusion_EJ2_Diagrams_DiagramShapeStyle_Gradient) property of the node allows to define and apply the gradient effect to that node. From a5de1a7def54d03036501b0fe82e9d3a14bd779d Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Thu, 21 Mar 2024 09:46:18 +0530 Subject: [PATCH 039/134] 875662: commit --- .../pdfviewer/EJ2_ASP.MVC/accessibility.md | 2 +- .../EJ2_ASP.MVC/how-to/custom-context-menu.md | 37 +++++------ .../EJ2_ASP.MVC/how-to/open-bookmark.md | 66 +++++++++++++++---- .../pagerenderstarted-pagerendercompleted.md | 35 ++++++---- .../EJ2_ASP.NETCORE/accessibility.md | 2 +- 5 files changed, 96 insertions(+), 46 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/accessibility.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/accessibility.md index 196a8b3b98..c28d724f1b 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/accessibility.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/accessibility.md @@ -4,7 +4,7 @@ title: Accessibility with EJ2 ASP.NET MVC PDF Viewer | Syncfusion description: Learn here all about accessibility in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: PDF Viewer -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/custom-context-menu.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/custom-context-menu.md index 41920b774e..7c9df3d2b7 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/custom-context-menu.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/custom-context-menu.md @@ -22,7 +22,7 @@ The following code shows how to add custom option in context menu. { text: 'Search In Google', id: 'search_in_google', - iconCss: 'e-icons e-de-ctnr-find' + iconCss: 'e-icons e-search' }, { text: 'Lock Annotation', @@ -63,7 +63,7 @@ The PDF Viewer feature enables customization of custom options and the ability t { text: 'Search In Google', id: 'search_in_google', - iconCss: 'e-icons e-de-ctnr-find' + iconCss: 'e-icons e-search' }, { text: 'Lock Annotation', @@ -104,7 +104,7 @@ The following code shows how to hide/show added custom option in context menu us { text: 'Search In Google', id: 'search_in_google', - iconCss: 'e-icons e-de-ctnr-find' + iconCss: 'e-icons e-search' }, { text: 'Lock Annotation', @@ -170,7 +170,7 @@ The following code shows how to hide/show added custom option in context menu us } }; - function customContextMenuBeforeOpen(args) { + function customContextMenuBeforeOpen(args) { for (var i = 0; i < args.ids.length; i++) { var search = document.getElementById(args.ids[i]); var pdfviewer = document.getElementById('pdfviewer').ej2_instances[0]; @@ -205,6 +205,7 @@ The following code shows how to hide/show added custom option in context menu us } } }; + ``` @@ -214,26 +215,17 @@ The following is the output of custom context menu with customization. @using Syncfusion.EJ2 -@section ControlsSection{ -
    -
    - -
    - -
    -
    - @Html.EJS().Switch("checked").Checked(true).Change("change").CssClass("buttonSwitch").Render() -
    -
    - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").ResourceUrl("https://cdn.syncfusion.com/ej2/23.2.6/dist/ej2-pdfviewer-lib").DocumentLoad("documentLoad").CustomContextMenuSelect("customContextMenuSelect").CustomContextMenuBeforeOpen("customContextMenuBeforeOpen").Render() +
    +
    + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").ResourceUrl("https://cdn.syncfusion.com/ej2/23.2.6/dist/ej2-pdfviewer-lib").CustomContextMenuSelect("customContextMenuSelect").CustomContextMenuBeforeOpen("customContextMenuBeforeOpen").DocumentLoad("documentLoaded").Render()
    -} +
    diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md index 0a2abfeaa0..e6548cf066 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md @@ -18,28 +18,72 @@ The following steps are used to open the Bookmark. **Step 2:** Insert the following code snippet to implement the functionality for opening the Bookmark pane: -```html +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + +
    + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").Render() +
    + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + +
    + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/api/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").Render() +
    -``` + +{% endhighlight %} +{% endtabs %} Similarly, to close the Bookmark pane programmatically, employ the following code snippet: -```html - +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
    + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").Render() +
    + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + +
    + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/api/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").Render() +
    -``` \ No newline at end of file + +{% endhighlight %} +{% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md index 9afbbf88e5..ea7180e9ff 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md @@ -20,42 +20,53 @@ The `pageRenderInitiate` event is triggered when the rendering of a page in the The `pageRenderComplete` event is triggered when the rendering of a page in the PDF document is completed. This event allows developers to perform cleanup tasks or finalize rendering-related processes after the rendering of the page content finishes. It can be used to release resources, finalize rendering settings, or handle any post-rendering tasks necessary for the application. - {% tabs %} {% highlight html tabtitle="Standalone" %} -\ + +@{ + ViewBag.Title = "Home Page"; +} +
    - @Html.EJS().PdfViewer("pdfviewer").DocumentLoad("download").EnableDownload(true).DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").pageRenderInitiate("pageRenderInitiate").pageRenderComplete("pageRenderComplete").Render() + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").PageRenderInitiate("pageRenderInitiate").PageRenderComplete("pageRenderComplete").Render()
    {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} +@{ + ViewBag.Title = "Home Page"; +} +
    - @Html.EJS().PdfViewer("pdfviewer").DocumentLoad("download")..ServiceUrl(VirtualPathUtility.ToAbsolute("~/api/PdfViewer/")).EnableDownload(true).DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").pageRenderInitiate("pageRenderInitiate").pageRenderComplete("pageRenderComplete").Render() + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/api/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/hive-succinctly.pdf").PageRenderInitiate("pageRenderInitiate").PageRenderComplete("pageRenderComplete").Render()
    diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/accessibility.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/accessibility.md index f1d36d675a..aa50c911fa 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/accessibility.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/accessibility.md @@ -4,7 +4,7 @@ title: Accessibility with EJ2 ASP.NET Core PDF Viewer | Syncfusion description: Learn here all about accessibility in ASP.NET Core Pdfviewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: PDF Viewer -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- # Accessibility in Syncfusion PDF Viewer components From cefdddcd1d985dbbade9e4d068ada7a23e72120d Mon Sep 17 00:00:00 2001 From: GokulSaravanan26 Date: Thu, 21 Mar 2024 10:12:25 +0530 Subject: [PATCH 040/134] 877017: Resolved file path error in textarea component. --- ej2-asp-core-mvc/textarea/events.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ej2-asp-core-mvc/textarea/events.md b/ej2-asp-core-mvc/textarea/events.md index f90a986434..62d440fe80 100644 --- a/ej2-asp-core-mvc/textarea/events.md +++ b/ej2-asp-core-mvc/textarea/events.md @@ -32,10 +32,10 @@ The TextArea control triggers the [Created](https://help.syncfusion.com/cr/aspne {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/created/razor %} +{% include code-snippet/textarea/events/created/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/created/created.cs %} +{% include code-snippet/textarea/events/created/created.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -60,10 +60,10 @@ The [InputEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/input/razor %} +{% include code-snippet/textarea/events/input/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/input/input.cs %} +{% include code-snippet/textarea/events/input/input.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -88,10 +88,10 @@ The [ChangedEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion. {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/change/razor %} +{% include code-snippet/textarea/events/change/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/change/change.cs %} +{% include code-snippet/textarea/events/change/change.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -116,10 +116,10 @@ The [FocusInEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion. {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/focus/razor %} +{% include code-snippet/textarea/events/focus/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/focus/focus.cs %} +{% include code-snippet/textarea/events/focus/focus.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -144,10 +144,10 @@ The [FocusOutEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/blur/razor %} +{% include code-snippet/textarea/events/blur/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/blur/blur.cs %} +{% include code-snippet/textarea/events/blur/blur.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -171,10 +171,10 @@ The TextArea control triggers the [Destroyed](https://help.syncfusion.com/cr/asp {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/destroyed/razor %} +{% include code-snippet/textarea/events/destroyed/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/destroyed/destroyed.cs %} +{% include code-snippet/textarea/events/destroyed/destroyed.cs %} {% endhighlight %} {% endtabs %} {% endif %} From 6360f1fd63cfd3c6eb47bc04c692019e641c67a0 Mon Sep 17 00:00:00 2001 From: Indrajith <93306904+IndrajithSrinivasan@users.noreply.github.com> Date: Wed, 20 Mar 2024 22:56:21 +0530 Subject: [PATCH 041/134] Merge pull request #2812 from syncfusion-content/EJ2-875460-gallery docs(875460): Gallery UG documentation added. --- .../gallery/classCustomization/cssClass.cs | 4 + .../ribbon/gallery/classCustomization/razor | 84 +++++ .../gallery/classCustomization/tagHelper | 88 +++++ .../ribbon/gallery/disabledItem/disabled.cs | 4 + .../ribbon/gallery/disabledItem/razor | 58 ++++ .../ribbon/gallery/disabledItem/tagHelper | 62 ++++ .../ribbon/gallery/galleryIcon/icon.cs | 4 + .../ribbon/gallery/galleryIcon/razor | 58 ++++ .../ribbon/gallery/galleryIcon/tagHelper | 62 ++++ .../ribbon/gallery/galleryItems/items.cs | 4 + .../ribbon/gallery/galleryItems/razor | 58 ++++ .../ribbon/gallery/galleryItems/tagHelper | 62 ++++ .../ribbon/gallery/galleryTemplate/razor | 31 ++ .../ribbon/gallery/galleryTemplate/tagHelper | 33 ++ .../gallery/galleryTemplate/template.cs | 4 + .../gallery/groupCustomization/groupCss.cs | 4 + .../ribbon/gallery/groupCustomization/razor | 64 ++++ .../gallery/groupCustomization/tagHelper | 68 ++++ .../gallery/htmlAttributes/attributes.cs | 4 + .../ribbon/gallery/htmlAttributes/razor | 58 ++++ .../ribbon/gallery/htmlAttributes/tagHelper | 79 +++++ .../ribbon/gallery/itemContent/content.cs | 4 + .../ribbon/gallery/itemContent/razor | 58 ++++ .../ribbon/gallery/itemContent/tagHelper | 63 ++++ .../ribbon/gallery/itemCount/count.cs | 4 + .../ribbon/gallery/itemCount/razor | 58 ++++ .../ribbon/gallery/itemCount/tagHelper | 62 ++++ .../gallery/itemHeightWidth/itemStyles.cs | 4 + .../ribbon/gallery/itemHeightWidth/razor | 61 ++++ .../ribbon/gallery/itemHeightWidth/tagHelper | 65 ++++ .../gallery/popupHeightWidth/popupStyles.cs | 4 + .../ribbon/gallery/popupHeightWidth/razor | 60 ++++ .../ribbon/gallery/popupHeightWidth/tagHelper | 64 ++++ .../ribbon/gallery/selectedItemIndex/index.cs | 4 + .../ribbon/gallery/selectedItemIndex/razor | 58 ++++ .../gallery/selectedItemIndex/tagHelper | 62 ++++ ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/events.md | 284 ++++++++++++++++ .../ribbon/EJ2_ASP.MVC/gallery-items.md | 181 ++++++++++ .../ribbon/EJ2_ASP.NETCORE/events.md | 308 ++++++++++++++++++ .../ribbon/EJ2_ASP.NETCORE/gallery-items.md | 181 ++++++++++ .../images/ribbon-gallery-attribute.png | Bin 0 -> 41180 bytes .../ribbon/images/ribbon-gallery-content.png | Bin 0 -> 23035 bytes .../images/ribbon-gallery-group-cssclass.png | Bin 0 -> 23972 bytes .../ribbon/images/ribbon-gallery-icons.png | Bin 0 -> 23065 bytes .../images/ribbon-gallery-item-count.png | Bin 0 -> 22574 bytes .../images/ribbon-gallery-item-cssclass.png | Bin 0 -> 23172 bytes .../images/ribbon-gallery-item-disabled.png | Bin 0 -> 21436 bytes .../images/ribbon-gallery-item-styles.png | Bin 0 -> 26323 bytes .../ribbon/images/ribbon-gallery-items.png | Bin 0 -> 22698 bytes .../images/ribbon-gallery-popup-styles.png | Bin 0 -> 22896 bytes .../images/ribbon-gallery-selected-index.png | Bin 0 -> 22444 bytes ej2-asp-core-toc.html | 1 + ej2-asp-mvc-toc.html | 1 + 53 files changed, 2480 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/cssClass.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/disabled.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/icon.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/items.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/template.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/groupCss.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/attributes.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/content.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/count.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/itemStyles.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/popupStyles.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/index.cs create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/razor create mode 100644 ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/tagHelper create mode 100644 ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md create mode 100644 ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-attribute.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-content.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-group-cssclass.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-icons.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-item-count.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-item-cssclass.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-item-disabled.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-item-styles.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-items.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-popup-styles.png create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-selected-index.png diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/cssClass.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/cssClass.cs new file mode 100644 index 0000000000..f1bb841424 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/cssClass.cs @@ -0,0 +1,4 @@ +public ActionResult CssClass() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/razor new file mode 100644 index 0000000000..c638dbc5e2 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/razor @@ -0,0 +1,84 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.Groups(galleryGroups => + { + galleryGroups.Header("Good, Bad and Neutral").Items(galleryItems => + { + galleryItems.Content("Normal").CssClass("normal").Add(); + galleryItems.Content("Bad").CssClass("bad").Add(); + galleryItems.Content("Good").CssClass("good").Add(); + galleryItems.Content("Neutral").CssClass("neutral").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/tagHelper new file mode 100644 index 0000000000..ae23d0d408 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/classCustomization/tagHelper @@ -0,0 +1,88 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/disabled.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/disabled.cs new file mode 100644 index 0000000000..b1ebf3268b --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/disabled.cs @@ -0,0 +1,4 @@ +public ActionResult Disabled() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/razor new file mode 100644 index 0000000000..bc042ce191 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/razor @@ -0,0 +1,58 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Disabled(true).Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/tagHelper new file mode 100644 index 0000000000..8213700acf --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/disabledItem/tagHelper @@ -0,0 +1,62 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/icon.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/icon.cs new file mode 100644 index 0000000000..ee6c053f8c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/icon.cs @@ -0,0 +1,4 @@ +public ActionResult Icon() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/razor new file mode 100644 index 0000000000..96edc3c991 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/razor @@ -0,0 +1,58 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.Groups(galleryGroups => + { + galleryGroups.Header("Transitions").Items(galleryItems => + { + galleryItems.Content("None").IconCss("e-icons e-rectangle").Add(); + galleryItems.Content("Fade").IconCss("e-icons e-send-backward").Add(); + galleryItems.Content("Reveal").IconCss("e-icons e-bring-forward").Add(); + galleryItems.Content("Zoom").IconCss("e-icons e-zoom-to-fit").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/tagHelper new file mode 100644 index 0000000000..2590f0c2b4 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryIcon/tagHelper @@ -0,0 +1,62 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/items.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/items.cs new file mode 100644 index 0000000000..d21d8b0d41 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/items.cs @@ -0,0 +1,4 @@ +public ActionResult Items() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/razor new file mode 100644 index 0000000000..7f51d57402 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/razor @@ -0,0 +1,58 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/tagHelper new file mode 100644 index 0000000000..e2383a998d --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryItems/tagHelper @@ -0,0 +1,62 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/razor new file mode 100644 index 0000000000..93712b5752 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/razor @@ -0,0 +1,31 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List groupButtonContent = new List() { + + new RibbonGroupButtonItem { IconCss = "e-icons e-align-left", Content = "Align Left" }, + new RibbonGroupButtonItem {IconCss = "e-icons e-align-center", Content = "Align Center" }, + new RibbonGroupButtonItem {IconCss = "e-icons e-align-right", Content = "Align Right" }, + new RibbonGroupButtonItem { IconCss = "e-icons e-justify", Content = "Justify" } + }; +} + + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + { + group.Header("Paragraph").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.GroupButton).AllowedSizes(RibbonItemSize.Medium).GroupButtonSettings(groupButton => + { + groupButton.Items(groupButtonContent); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/tagHelper new file mode 100644 index 0000000000..4fcd51a463 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/tagHelper @@ -0,0 +1,33 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List groupButtonContent = new List() { + + new RibbonGroupButtonItem { IconCss = "e-icons e-align-left", Content = "Align Left" }, + new RibbonGroupButtonItem {IconCss = "e-icons e-align-center", Content = "Align Center" }, + new RibbonGroupButtonItem {IconCss = "e-icons e-align-right", Content = "Align Right" }, + new RibbonGroupButtonItem { IconCss = "e-icons e-justify", Content = "Justify" } + }; +} + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/template.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/template.cs new file mode 100644 index 0000000000..7b80333540 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/template.cs @@ -0,0 +1,4 @@ +public ActionResult Template() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/groupCss.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/groupCss.cs new file mode 100644 index 0000000000..b9b033f52c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/groupCss.cs @@ -0,0 +1,4 @@ +public ActionResult GroupCss() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/razor new file mode 100644 index 0000000000..943120d32f --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/razor @@ -0,0 +1,64 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.Groups(galleryGroups => + { + galleryGroups.Header("Styles").CssClass("custom-group").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/tagHelper new file mode 100644 index 0000000000..243710721c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/groupCustomization/tagHelper @@ -0,0 +1,68 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/attributes.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/attributes.cs new file mode 100644 index 0000000000..b1ae86ce74 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/attributes.cs @@ -0,0 +1,4 @@ +public ActionResult Attributes() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/razor new file mode 100644 index 0000000000..df8708e880 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/razor @@ -0,0 +1,58 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").HtmlAttributes(new Dictionary() { { "title", "Normal" } }).Add(); + galleryItems.Content("No Spacing").HtmlAttributes(new Dictionary() { { "title", "No Spacing" } }).Add(); + galleryItems.Content("Heading 1").HtmlAttributes(new Dictionary() { { "title", "Heading 1" } }).Add(); + galleryItems.Content("Heading 2").HtmlAttributes(new Dictionary() { { "title", "Heading 2" } }).Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/tagHelper new file mode 100644 index 0000000000..ae64dd037f --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/htmlAttributes/tagHelper @@ -0,0 +1,79 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; + IDictionary customAttribute1 = new Dictionary() + { + { "title", "Normal" } + }; + IDictionary customAttribute2 = new Dictionary() + { + { "title", "No Spacing" } + }; + IDictionary customAttribute3 = new Dictionary() + { + { "title", "Heading 1" } + }; + IDictionary customAttribute4 = new Dictionary() + { + { "title", "Heading 2" } + }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/content.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/content.cs new file mode 100644 index 0000000000..bb376f8846 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/content.cs @@ -0,0 +1,4 @@ +public ActionResult Content() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/razor new file mode 100644 index 0000000000..7f51d57402 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/razor @@ -0,0 +1,58 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/tagHelper new file mode 100644 index 0000000000..dd8f31f15d --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemContent/tagHelper @@ -0,0 +1,63 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/count.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/count.cs new file mode 100644 index 0000000000..9396a19364 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/count.cs @@ -0,0 +1,4 @@ +public ActionResult ItemCount() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/razor new file mode 100644 index 0000000000..a6b8758219 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/razor @@ -0,0 +1,58 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.ItemCount(4).Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/tagHelper new file mode 100644 index 0000000000..4d19504de3 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemCount/tagHelper @@ -0,0 +1,62 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/itemStyles.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/itemStyles.cs new file mode 100644 index 0000000000..a9db6e4378 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/itemStyles.cs @@ -0,0 +1,4 @@ +public ActionResult ItemStyles() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/razor new file mode 100644 index 0000000000..f9e2047611 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/razor @@ -0,0 +1,61 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.PopupWidth("350").Groups(galleryGroups => + { + galleryGroups.Header("Styles").ItemWidth("100").ItemHeight("30").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + galleryItems.Content("Title").Add(); + galleryItems.Content("Subtitle").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/tagHelper new file mode 100644 index 0000000000..e11074c3e4 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/itemHeightWidth/tagHelper @@ -0,0 +1,65 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/popupStyles.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/popupStyles.cs new file mode 100644 index 0000000000..5ae25eb069 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/popupStyles.cs @@ -0,0 +1,4 @@ +public ActionResult PopupStyles() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/razor new file mode 100644 index 0000000000..b752b287ea --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/razor @@ -0,0 +1,60 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.PopupWidth("350").PopupHeight("180").Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + galleryItems.Content("Title").Add(); + galleryItems.Content("Subtitle").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/tagHelper new file mode 100644 index 0000000000..ca821d92f0 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/popupHeightWidth/tagHelper @@ -0,0 +1,64 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/index.cs b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/index.cs new file mode 100644 index 0000000000..2d555a9aad --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/index.cs @@ -0,0 +1,4 @@ +public ActionResult Index() +{ + return View(); +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/razor new file mode 100644 index 0000000000..59cc52d875 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/razor @@ -0,0 +1,58 @@ +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; +} + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.SelectedItemIndex(1).Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/tagHelper new file mode 100644 index 0000000000..af7db6a429 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/selectedItemIndex/tagHelper @@ -0,0 +1,62 @@ +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@{ + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/events.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/events.md index 675d2ea6b2..0fb87fe139 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/events.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/events.md @@ -1972,5 +1972,289 @@ The [BackStageItemClick](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion } +{% endhighlight %} +{% endtabs %} + +## Gallery events + +### popupOpen + +The [PopupOpen](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupOpen) event is triggered when the gallery popup opens. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.PopupOpen("popupOpen").Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + + + +{% endhighlight %} +{% endtabs %} + +### popupClose + +The [PopupClose](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupClose) event is triggered when the gallery popup closes. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.PopupClose("popupClose").Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + + +` +{% endhighlight %} +{% endtabs %} + +### itemHover + +The [ItemHover](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_ItemHover) event is triggered when hover over the gallery item. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.ItemHover("itemHover").Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + + + +{% endhighlight %} +{% endtabs %} + +### beforeItemRender + +The [BeforeItemRender](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_BeforeItemRender) event is triggered while rendering each gallery item. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.BeforeItemRender("beforeItemRender").Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + + + +{% endhighlight %} +{% endtabs %} + +### beforeSelect + +The [BeforeSelect](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_BeforeSelect) event is triggered before selecting an item in the Ribbon gallery. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.BeforeSelect("beforeSelect").Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + + + +{% endhighlight %} +{% endtabs %} + +### select + +The [Select](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_Select) event is triggered while selecting an item in the Ribbon Gallery. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + +@Html.EJS().Ribbon("ribbon").Tabs(tab => +{ + tab.Header("Home").Groups(group => + + { + group.Header("Gallery").Collections(collections => + { + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => + { + gallery.Select("select").Groups(galleryGroups => + { + galleryGroups.Header("Styles").Items(galleryItems => + { + galleryItems.Content("Normal").Add(); + galleryItems.Content("No Spacing").Add(); + galleryItems.Content("Heading 1").Add(); + galleryItems.Content("Heading 2").Add(); + }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + }).Add(); +}).Render() + + + + {% endhighlight %} {% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md new file mode 100644 index 0000000000..da40a6dc9b --- /dev/null +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md @@ -0,0 +1,181 @@ +--- +layout: post +title: Ribbon Gallery Items in ##Platform_Name## Ribbon Control | Syncfusion +description: Checkout and learn about Gallery Items with ##Platform_Name## Ribbon control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Ribbon +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Gallery Items in ASP.NET MVC Ribbon control + +The Ribbon supports Gallery view which allows users to perform specific actions by displaying a collection of related items, including icons, content, or images. You can render the gallery item by setting the [Type](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonItem.html#Syncfusion_EJ2_Ribbon_RibbonItem_Type) property to `Gallery` and customize it by using the [RibbonGallerySettings](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html), which provides options such as `Groups`, `ItemCount`, `PopupHeight`, `PopupWidth` and more. + +## Groups + +You can render the groups inside the gallery items by using [Groups](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_Groups) property and customize the groups using [RibbonGalleryGroup](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html), which provides options such as `Items`, `CssClass`, `Header` and more. + +### Adding items + +You can render the gallery items by using [Items](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_Items) property and customize using the [RibbonGalleryItem](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html), which provides options such as `Content`, `IconCss`, `Disabled` and more. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/galleryItems/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery items](./images/ribbon-gallery-items.png) + +#### Adding content + +You can use the [Content](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_Content) property to define the text content for the gallery item. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/itemContent/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery content](./images/ribbon-gallery-content.png) + +#### Adding icons + +You can use the [IconCss](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_IconCss) property to define the icons for the gallery item. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/galleryIcon/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery icons](./images/ribbon-gallery-icons.png) + +#### Adding html attributes + +You can use the [HtmlAttributes](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_HtmlAttributes) property to add HTML attributes to the Ribbon gallery item. + +The following sample showcases how to add title attribute to the gallery item using `HtmlAttributes` property. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/htmlAttributes/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with Html attributes](./images/ribbon-gallery-attribute.png) + +#### Css class + +You can use the [CssClass](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_CssClass) property to customize the gallery item. + +The following sample showcases how to customize the appearance of each gallery item using the `CssClass` property . + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/classCustomization/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery item Cssclass](./images/ribbon-gallery-item-cssclass.png) + +#### Disabled + +You can use the [Disabled](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_Disabled) property to disable the Ribbon gallery item. It prevents the user interaction when set to `true`. By default, the value is `false`. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/disabledItem/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery item disabled](./images/ribbon-gallery-item-disabled.png) + +### Custom header + +You can use the [Header](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_Header) property to set header for the group items in the Ribbon gallery popup. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/galleryItems/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery group header](./images/ribbon-gallery-items.png) + +### Setting item width + +You can use the [ItemWidth](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_ItemWidth) property to specify the width of gallery items. + +### Setting item height + +You can use the [ItemHeight](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_ItemHeight) property to set the height of the gallery items. If the `ItemHeight` of the gallery item is smaller the remaining gallery items are aligned based on the [ItemCount](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_ItemCount) specified. + +The provided example demonstrates how to customize gallery items using the `ItemWidth` and `ItemHeight` properties. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/itemHeightWidth/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery items width and height](./images/ribbon-gallery-item-styles.png) + +### Group styling + +You can use the [CssClass](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_CssClass) property to customize the appearance of gallery groups. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/groupCustomization/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery group css](./images/ribbon-gallery-group-cssclass.png) + +## Setting item count + +You can customize the number if items to be displayed in Ribbon gallery by using the [ItemCount](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_ItemCount) property. By default the `ItemCount` will be `3`. + +The following example showcases the utilization of the `ItemCount` property, displaying a ribbon gallery with `4` items. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/itemCount/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery items count](./images/ribbon-gallery-item-count.png) + +## Setting selected item + +You can use the [SelectedItemIndex](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_SelectedItemIndex) property to define the currently selected item in the Ribbon gallery items. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/selectedItemIndex/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery selected item index](./images/ribbon-gallery-selected-index.png) + +## Setting popup height + +You can specify the height of the gallery popup by using the [PopupHeight](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupHeight) property. + +## Setting popup width + +you can specify the width of the gallery popup by using the [PopupWidth](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupWidth) propery. + +The example demonstrates the customization of popup with `PopupHeight` and `PopupWidth` properties. + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/popupHeightWidth/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery popup width and height](./images/ribbon-gallery-popup-styles.png) + +> To know more about the built-in Ribbon items, please refer to the [Ribbon Items](./items) section. \ No newline at end of file diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/events.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/events.md index 0bde9040a8..cd2689a1f6 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/events.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/events.md @@ -2160,3 +2160,311 @@ The [BackStageItemClick](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusio {% endhighlight %} {% endtabs %} + +## Gallery events + +### popupOpen + +The [popupOpen](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupOpen) event is triggered when the gallery popup opens. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% endhighlight %} +{% endtabs %} + +### popupClose + +The [popupClose](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupClose) event is triggered when the gallery popup closes. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +` +{% endhighlight %} +{% endtabs %} + +### itemHover + +The [itemHover](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_ItemHover) event is triggered when hover over the gallery item. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% endhighlight %} +{% endtabs %} + +### beforeItemRender + +The [beforeItemRender](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_BeforeItemRender) event is triggered while rendering each gallery item. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% endhighlight %} +{% endtabs %} + +### beforeSelect + +The [beforeSelect](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_BeforeSelect) event is triggered before selecting an item in the Ribbon gallery. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% endhighlight %} +{% endtabs %} + +### select + +The [select](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_Select) event is triggered while selecting an item in the Ribbon Gallery. + +{% tabs %} +{% highlight c# tabtitle="Index.cshtml" %} + +@using Syncfusion.EJ2 +@using Syncfusion.EJ2.Ribbon +@using Syncfusion.EJ2.Navigations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% endhighlight %} +{% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md new file mode 100644 index 0000000000..f69a5de25f --- /dev/null +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md @@ -0,0 +1,181 @@ +--- +layout: post +title: Ribbon Gallery Items in ##Platform_Name## Ribbon Control | Syncfusion +description: Checkout and learn about Gallery Items with ##Platform_Name## Ribbon control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Ribbon +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Gallery Items in ASP.NET Core Ribbon control + +The Ribbon supports Gallery view which allows users to perform specific actions by displaying a collection of related items, including icons, content, or images. You can render the gallery item by setting the [type](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonItem.html#Syncfusion_EJ2_Ribbon_RibbonItem_Type) property to `Gallery` and customize it by using the [RibbonGallerySettings](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html), which provides options such as `groups`, `itemCount`, `popupHeight`, `popupWidth` and more. + +## Groups + +You can render the groups inside the gallery items by using [groups](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_Groups) property and customize the groups using [RibbonGalleryGroup](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html), which provides options such as `items`, `cssClass`, `header` and more. + +### Adding items + +You can render the gallery items by using [items](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_Items) property and customize using the [RibbonGalleryItem](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html), which provides options such as `content`, `iconCss`, `disabled` and more. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/galleryItems/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery items](./images/ribbon-gallery-items.png) + +#### Adding content + +You can use the [content](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_Content) property to define the text content for the gallery item. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/itemContent/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery content](./images/ribbon-gallery-content.png) + +#### Adding icons + +You can use the [iconCss](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_IconCss) property to define the icons for the gallery item. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/galleryIcon/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery icons](./images/ribbon-gallery-icons.png) + +#### Adding html attributes + +You can use the [htmlAttributes](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_HtmlAttributes) property to add HTML attributes to the Ribbon gallery item. + +The following sample showcases how to add title attribute to the gallery item using `htmlAttributes` property. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/htmlAttributes/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with Html attributes](./images/ribbon-gallery-attribute.png) + +#### Css class + +You can use the [cssClass](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_CssClass) property to customize the gallery item. + +The following sample showcases how to customize the appearance of each gallery item using the `cssClass` property . + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/classCustomization/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery item Cssclass](./images/ribbon-gallery-item-cssclass.png) + +#### Disabled + +You can use the [disabled](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryItem.html#Syncfusion_EJ2_Ribbon_RibbonGalleryItem_Disabled) property to disable the Ribbon gallery item. It prevents the user interaction when set to `true`. By default, the value is `false`. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/disabledItem/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery item disabled](./images/ribbon-gallery-item-disabled.png) + +### Custom header + +You can use the [header](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_Header) property to set header for the group items in the Ribbon gallery popup. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/galleryItems/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery group header](./images/ribbon-gallery-items.png) + +### Setting item width + +You can use the [itemWidth](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_ItemWidth) property to specify the width of gallery items. + +### Setting item height + +You can use the [itemHeight](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_ItemHeight) property to set the height of the gallery items. If the `itemHeight` of the gallery item is smaller the remaining gallery items are aligned based on the [itemCount](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_ItemCount) specified. + +The provided example demonstrates how to customize gallery items using the `itemWidth` and `itemHeight` properties. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/itemHeightWidth/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery items width and height](./images/ribbon-gallery-item-styles.png) + +### Group styling + +You can use the [cssClass](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGalleryGroup.html#Syncfusion_EJ2_Ribbon_RibbonGalleryGroup_CssClass) property to customize the appearance of gallery groups. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/groupCustomization/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery group css](./images/ribbon-gallery-group-cssclass.png) + +## Setting item count + +You can customize the number if items to be displayed in Ribbon gallery by using the [itemCount](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_ItemCount) property. By default the `itemCount` will be `3`. + +The following example showcases the utilization of the `itemCount` property, displaying a ribbon gallery with `4` items. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/itemCount/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery items count](./images/ribbon-gallery-item-count.png) + +## Setting selected item + +You can use the [selectedItemIndex](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_SelectedItemIndex) property to define the currently selected item in the Ribbon gallery items. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/selectedItemIndex/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery selected item index](./images/ribbon-gallery-selected-index.png) + +## Setting popup height + +You can specify the height of the gallery popup by using the [popupHeight](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupHeight) property. + +## Setting popup width + +you can specify the width of the gallery popup by using the [popupWidth](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupWidth) propery. + +The example demonstrates the customization of popup with `popupHeight` and `popupWidth` properties. + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/popupHeightWidth/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery popup width and height](./images/ribbon-gallery-popup-styles.png) + +> To know more about the built-in Ribbon items, please refer to the [Ribbon Items](./items) section. \ No newline at end of file diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-attribute.png b/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-attribute.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ebe14ec4363c7984086d646c7e0bddd5ffef06 GIT binary patch literal 41180 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%0D5(Y^d0KDCnrrkOcMsaz9*Y=v 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-content.png b/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-content.png new file mode 100644 index 0000000000000000000000000000000000000000..515a00985d620696257364d43d6a265de654027b GIT binary patch literal 23035 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-group-cssclass.png b/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-group-cssclass.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7b1a863572ec68f44a15034d0657dab1ac2fd4 GIT binary patch literal 23972 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 Rg2c@oW=M16iZd=T{{l!@re6R6 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-item-styles.png b/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-item-styles.png new file mode 100644 index 0000000000000000000000000000000000000000..95e40544883d09ae9988471486423e246cd51ead GIT binary patch literal 26323 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 literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-selected-index.png b/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-selected-index.png new file mode 100644 index 0000000000000000000000000000000000000000..a454b2738799b737c46a92c7f2aca51388c65541 GIT binary patch literal 22444 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 ziBackstage Menu
  • Contextual Tabs
  • Ribbon Keytips
  • +
  • Ribbon Gallery
  • Help Pane Template
  • Tooltip
  • Resizing
  • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 7d0893518c..375b41b4a8 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -2105,6 +2105,7 @@
  • Backstage Menu
  • Contextual Tabs
  • Ribbon Keytips
  • +
  • Ribbon Gallery
  • Help Pane Template
  • Tooltip
  • Resizing
  • From d1d62b96668c357bc06665fb7c0550393a24bb8c Mon Sep 17 00:00:00 2001 From: Balaji-SF4331 Date: Thu, 21 Mar 2024 14:31:51 +0530 Subject: [PATCH 042/134] 877772: Modify the items property to tag helper. --- ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md | 2 +- ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md index 3c07fffcfa..665fc820dd 100644 --- a/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md @@ -10,7 +10,7 @@ documentation: ug # Items in ##Platform_Name## Timeline control -The Timeline items can be added by using the [items](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Items) property. Each item can be configured with options such as `content`, `oppositeContent`, `dotCss`, `disabled` and `cssClass`. +The Timeline items can be added by using the `` tag helper. Each item can be configured with options such as `content`, `oppositeContent`, `dotCss`, `disabled` and `cssClass`. ## Adding content diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md index a3e0db4179..193164954a 100644 --- a/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md @@ -10,7 +10,7 @@ documentation: ug # Items in ##Platform_Name## Timeline control -The Timeline items can be added by using the [items](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Layouts.Timeline.html#Syncfusion_EJ2_Layouts_Timeline_Items) property. Each item can be configured with options such as `content`, `oppositeContent`, `dotCss`, `disabled` and `cssClass`. +The Timeline items can be added by using the `` tag helper. Each item can be configured with options such as `content`, `oppositeContent`, `dotCss`, `disabled` and `cssClass`. ## Adding content From bc8edbaa26f74b694f4d1a2cb74e5e79bdf52e0a Mon Sep 17 00:00:00 2001 From: SF4315 Date: Thu, 21 Mar 2024 15:01:29 +0530 Subject: [PATCH 043/134] 877011: Added customize color picker documentation --- .../comments-mention/razor | 37 ++++++++ .../comments-mention/tagHelper | 38 ++++++++ .../customize-color-picker/document-editor.cs | 5 + .../customize-color-picker/razor | 4 + .../customize-color-picker/tagHelper | 5 + .../export-dotx/document-editor.cs | 5 + .../document-editor/export-dotx/razor | 16 ++++ .../document-editor/export-dotx/tagHelper | 15 +++ .../heading-navigation/document-editor.cs | 5 + .../document-editor/heading-navigation/razor | 13 +++ .../heading-navigation/tagHelper | 13 +++ ej2-asp-core-mvc/document-editor/comments.md | 27 +++++- ej2-asp-core-mvc/document-editor/export.md | 29 ++++++ .../how-to/customize-color-picker.md | 45 +++++++++ ej2-asp-core-mvc/document-editor/view.md | 92 +++++++++++++++++++ ej2-asp-core-toc.html | 2 + ej2-asp-mvc-toc.html | 2 + 17 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor-container/comments-mention/razor create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor-container/comments-mention/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/document-editor.cs create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/razor create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/document-editor.cs create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/razor create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/document-editor.cs create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/razor create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/tagHelper create mode 100644 ej2-asp-core-mvc/document-editor/how-to/customize-color-picker.md create mode 100644 ej2-asp-core-mvc/document-editor/view.md diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/comments-mention/razor b/ej2-asp-core-mvc/code-snippet/document-editor-container/comments-mention/razor new file mode 100644 index 0000000000..e17a73cb43 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/comments-mention/razor @@ -0,0 +1,37 @@ +@Html.EJS().DocumentEditorContainer("container").Created("onCreated").EnableToolbar(true).Render() + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/comments-mention/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/comments-mention/tagHelper new file mode 100644 index 0000000000..ff5280635c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/comments-mention/tagHelper @@ -0,0 +1,38 @@ + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/document-editor.cs b/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/document-editor.cs new file mode 100644 index 0000000000..048a3eb88c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/document-editor.cs @@ -0,0 +1,5 @@ +public ActionResult Default() +{ + return View(); +} + diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/razor b/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/razor new file mode 100644 index 0000000000..55c9ef6877 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/razor @@ -0,0 +1,4 @@ +@Html.EJS().DocumentEditorContainer("container").EnableToolbar(true).DocumentEditorSettings("settings").Render() + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/tagHelper new file mode 100644 index 0000000000..ac01a406da --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/customize-color-picker/tagHelper @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/document-editor.cs b/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/document-editor.cs new file mode 100644 index 0000000000..048a3eb88c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/document-editor.cs @@ -0,0 +1,5 @@ +public ActionResult Default() +{ + return View(); +} + diff --git a/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/razor b/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/razor new file mode 100644 index 0000000000..b8e5c7cb06 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/razor @@ -0,0 +1,16 @@ +@Html.EJS().Button("export").Content("Export").Render() +
    + @Html.EJS().DocumentEditor("container").IsReadOnly(false).EnableEditor(true).EnableSelection(true).EnableSfdtExport(true).EnableWordExport(true).Render() +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/tagHelper new file mode 100644 index 0000000000..702ece0b3f --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor/export-dotx/tagHelper @@ -0,0 +1,15 @@ +Export +
    + +
    + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/document-editor.cs b/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/document-editor.cs new file mode 100644 index 0000000000..048a3eb88c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/document-editor.cs @@ -0,0 +1,5 @@ +public ActionResult Default() +{ + return View(); +} + diff --git a/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/razor b/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/razor new file mode 100644 index 0000000000..a6bc5b3fbb --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/razor @@ -0,0 +1,13 @@ +
    + @Html.EJS().DocumentEditor("container").Created("onCreate").IsReadOnly(false).DocumentEditorSettings("settings").Render() +
    + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/tagHelper new file mode 100644 index 0000000000..c06816b4c7 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor/heading-navigation/tagHelper @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/document-editor/comments.md b/ej2-asp-core-mvc/document-editor/comments.md index ea99c3b7f4..999be13f17 100644 --- a/ej2-asp-core-mvc/document-editor/comments.md +++ b/ej2-asp-core-mvc/document-editor/comments.md @@ -79,4 +79,29 @@ Comment only protection can be enabled in UI by using [Restrict Editing pane](.. ![Enable comment only protection](images/commentsonly.png) -N> In enforce Protection method, first parameter denotes password and second parameter denotes protection type. Possible values of protection type are `NoProtection |ReadOnly |FormFieldsOnly |CommentsOnly`. In stop protection method, parameter denotes the password. \ No newline at end of file +N> In enforce Protection method, first parameter denotes password and second parameter denotes protection type. Possible values of protection type are `NoProtection |ReadOnly |FormFieldsOnly |CommentsOnly`. In stop protection method, parameter denotes the password. + +## Mention Support in comments + +Mention support displays a list of items that users can select or tag from the suggested list. To use this feature, type the `@` character in the comment box and select or tag the user from the suggestion list. + +The following example illustrates how to enable mention support in Document Editor + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/comments-mention/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Comment-only.cs" %} +{% endhighlight %}{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/comments-mention/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Comment-only.cs" %} +{% endhighlight %}{% endtabs %} +{% endif %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/document-editor/export.md b/ej2-asp-core-mvc/document-editor/export.md index a25da7642e..d257d4e1df 100644 --- a/ej2-asp-core-mvc/document-editor/export.md +++ b/ej2-asp-core-mvc/document-editor/export.md @@ -82,6 +82,35 @@ The following example shows how to export the document as Word document (.docx). N>To enable word export for a document editor instance, set [`enableWordExport`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.DocumentEditor.DocumentEditor.html#Syncfusion_EJ2_DocumentEditor_DocumentEditor_EnableWordExport) to true. +## Word Template Export + +The following example shows how to export the document as Word Template (.dotx). + +>Note: The Syncfusion Document Editor component's document pagination (page-by-page display) can't be guaranteed for all the Word documents to match the pagination of Microsoft Word application. For more information about [why the document pagination (page-by-page display) differs from Microsoft Word](../document-editor/import/#why-the-document-pagination-differs-from-microsoft-word) + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor/export-dotx/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor/export-dotx/document-editor.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor/export-dotx/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor/export-dotx/document-editor.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + ## Text export The following example shows how to export document as text document (.txt). diff --git a/ej2-asp-core-mvc/document-editor/how-to/customize-color-picker.md b/ej2-asp-core-mvc/document-editor/how-to/customize-color-picker.md new file mode 100644 index 0000000000..28fa60756d --- /dev/null +++ b/ej2-asp-core-mvc/document-editor/how-to/customize-color-picker.md @@ -0,0 +1,45 @@ +--- +layout: post +title: Customize Color Picker in Syncfusion ##Platform_Name## Document Editor Component +description: Learn here all about how to customize color picker in Syncfusion ##Platform_Name## Document Editor component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Customize Color Picker +publishingplatform: ##Platform_Name## +documentation: ug +--- + + +# How to customize the color picker in Document Editor component + +Document editor provides an options to customize the color picker using `colorPickerSettings` in Document editor settings. The color picker offers customization options for default appearance, by allowing selection between Picker or Palette mode, for font and border colors." + +Similarly, you can use `documentEditorSettings` property for DocumentEditor also. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/customize-color-picker/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="customize-color-picker.cs" %} +{% endhighlight %}{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/customize-color-picker/razor %} +{% endhighlight %} +{% highlight c# tabtitle="customize-color-picker.cs" %} +{% endhighlight %}{% endtabs %} +{% endif %} + +The following table illustrates all the possible properties for the color picker. + +| Property | Behaviour | +|---|---| +| columns | It is used to render the ColorPicker palette with specified columns. Defaults to 10 | +| disabled | It is used to enable / disable ColorPicker component. If it is disabled the ColorPicker popup won’t open. Defaults to false | +| mode | It is used to render the ColorPicker with the specified mode. Defaults to ‘Picker’ | +| modeSwitcher | It is used to show / hide the mode switcher button of ColorPicker component. Defaults to true | +| showButtons | It is used to show / hide the control buttons (apply / cancel) of ColorPicker component. Defaults to true | \ No newline at end of file diff --git a/ej2-asp-core-mvc/document-editor/view.md b/ej2-asp-core-mvc/document-editor/view.md new file mode 100644 index 0000000000..85dede9123 --- /dev/null +++ b/ej2-asp-core-mvc/document-editor/view.md @@ -0,0 +1,92 @@ +--- +layout: post +title: View in ##Platform_Name## Document Editor Control | Syncfusion +description: Learn here all about View in Syncfusion ##Platform_Name## Document Editor component of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: View +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# View in DocumentEditor + +## Web Layout + +DocumentEditor allows to change the view to web layout and print using the [`layoutType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.DocumentEditor.DocumentEditor.html#Syncfusion_EJ2_DocumentEditor_DocumentEditor_LayoutType) property with the supported [`LayoutType`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.DocumentEditor.LayoutType.html) + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor/web-layout/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Web-layout.cs" %} +{% endhighlight %}{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor/web-layout/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Web-layout.cs" %} +{% endhighlight %}{% endtabs %} +{% endif %} + +## Ruler + +Using ruler we can refer to setting specific margins, tab stops, or indentations within a document to ensure consistent formatting in Document Editor. + +The following example illustrates how to enable ruler in Document Editor + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor/ruler/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor/ruler/document-editor.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor/ruler/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor/ruler/document-editor.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + +## Navigation Pane + +Using the heading navigation pane allows users to swiftly navigate documents by heading, enhancing their ability to move through the document efficiently. + +The following example illustrates how to enable heading navigation pane in Document Editor + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor/heading-navigation/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor/heading-navigation/document-editor.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor/heading-navigation/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor/heading-navigation/document-editor.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} \ No newline at end of file diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index be2af8433f..0f1e31b841 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -918,6 +918,7 @@
  • SpellCheck
  • Globalization
  • Footnotes and Endnotes
  • +
  • View
  • How To
  • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 7d0893518c..ba0640e719 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -867,6 +867,7 @@
  • SpellCheck
  • Globalization
  • Footnotes and Endnotes
  • +
  • View
  • How To
  • From b44e51c49d12ac5f525a4261f636b5444437a809 Mon Sep 17 00:00:00 2001 From: ShanmugarajanSaravanan <111413468+ShanmugarajanSaravanan@users.noreply.github.com> Date: Thu, 21 Mar 2024 16:35:51 +0530 Subject: [PATCH 044/134] 875460: Gallery UG template sample added. --- .../ribbon/gallery/galleryTemplate/razor | 235 ++++++++++++++++-- .../ribbon/gallery/galleryTemplate/tagHelper | 221 +++++++++++++++- .../ribbon/EJ2_ASP.MVC/gallery-items.md | 18 ++ .../ribbon/EJ2_ASP.NETCORE/gallery-items.md | 18 ++ .../ribbon/images/ribbon-gallery-template.png | Bin 0 -> 28580 bytes 5 files changed, 464 insertions(+), 28 deletions(-) create mode 100644 ej2-asp-core-mvc/ribbon/images/ribbon-gallery-template.png diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/razor b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/razor index 93712b5752..3db8970e94 100644 --- a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/razor +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/razor @@ -1,31 +1,232 @@ -@using Syncfusion.EJ2 @using Syncfusion.EJ2.Ribbon @using Syncfusion.EJ2.Navigations @{ - List groupButtonContent = new List() { - - new RibbonGroupButtonItem { IconCss = "e-icons e-align-left", Content = "Align Left" }, - new RibbonGroupButtonItem {IconCss = "e-icons e-align-center", Content = "Align Center" }, - new RibbonGroupButtonItem {IconCss = "e-icons e-align-right", Content = "Align Right" }, - new RibbonGroupButtonItem { IconCss = "e-icons e-justify", Content = "Justify" } - }; + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge Format" }, new MenuItem { Text = "Keep Text Only" } }; } - @Html.EJS().Ribbon("ribbon").Tabs(tab => { - tab.Header("Home").Groups(group => + tab.Header("Home").Groups(group => + + { + group.Id("clipboard").Header("Clipboard").GroupIconCss("e-icons e-paste").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.SplitButton).Id("pastebtn").AllowedSizes(RibbonItemSize.Large).SplitButtonSettings(splitButton => + { + splitButton.IconCss("e-icons e-paste").Items(pasteOptions).Content("Paste"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-cut").Content("Cut"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-copy").Content("Copy"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-format-painter").Content("Format Painter"); + }).Add(); + }).Add(); + }).Add(); + group.Header("Table Styles").Collections(collections => { - group.Header("Paragraph").Collections(collection => + collections.Items(items => + { + items.Type(RibbonItemType.Gallery).GallerySettings(gallery => { - collection.Items(items => + gallery.ItemCount(7).Template("#galleryTemplate").PopupTemplate("#galleryTemplate").Groups(galleryGroups => + { + galleryGroups.Header("Plain Tables").Items(galleryItems => + { + galleryItems.CssClass("plainTables_item_1").Add(); + galleryItems.CssClass("plainTables_item_2").Add(); + galleryItems.CssClass("plainTables_item_3").Add(); + galleryItems.CssClass("plainTables_item_4").Add(); + galleryItems.CssClass("plainTables_item_5").Add(); + galleryItems.CssClass("plainTables_item_6").Add(); + galleryItems.CssClass("plainTables_item_7").Add(); + }).Add(); + galleryGroups.Header("List Tables").Items(galleryItems => { - items.Type(RibbonItemType.GroupButton).AllowedSizes(RibbonItemSize.Medium).GroupButtonSettings(groupButton => - { - groupButton.Items(groupButtonContent); - }).Add(); + galleryItems.CssClass("listTables_item_1").Add(); + galleryItems.CssClass("listTables_item_2").Add(); + galleryItems.CssClass("listTables_item_3").Add(); + galleryItems.CssClass("listTables_item_4").Add(); + galleryItems.CssClass("listTables_item_5").Add(); + galleryItems.CssClass("listTables_item_6").Add(); + galleryItems.CssClass("listTables_item_7").Add(); }).Add(); + }); + }).Add(); + }).Add(); + }).Add(); + group.Id("insert").Header("Insert").Collections(collection => + { + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-insert-above").Content("Above"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-insert-below").Content("Below"); + }).Add(); + }).Add(); + collection.Items(items => + { + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-insert-left").Content("Left"); + }).Add(); + items.Type(RibbonItemType.Button).ButtonSettings(button => + { + button.IconCss("e-icons e-insert-right").Content("Right"); }).Add(); + }).Add(); }).Add(); -}).Render() \ No newline at end of file + }).Add(); +}).Render() + + + + diff --git a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/tagHelper b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/tagHelper index 4fcd51a463..a9941c0945 100644 --- a/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/ribbon/gallery/galleryTemplate/tagHelper @@ -3,25 +3,92 @@ @using Syncfusion.EJ2.Navigations @{ - List groupButtonContent = new List() { - - new RibbonGroupButtonItem { IconCss = "e-icons e-align-left", Content = "Align Left" }, - new RibbonGroupButtonItem {IconCss = "e-icons e-align-center", Content = "Align Center" }, - new RibbonGroupButtonItem {IconCss = "e-icons e-align-right", Content = "Align Right" }, - new RibbonGroupButtonItem { IconCss = "e-icons e-justify", Content = "Justify" } - }; + List pasteOptions = new List() { new MenuItem { Text = "Keep Source Format" }, new MenuItem { Text = "Merge format" }, new MenuItem { Text = "Keep text only" } }; } - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -30,4 +97,136 @@ - \ No newline at end of file + + + + + diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md index da40a6dc9b..8ab2415f1f 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md @@ -178,4 +178,22 @@ The example demonstrates the customization of popup with `PopupHeight` and `Popu ![ASP.NET MVC Ribbon Control with gallery popup width and height](./images/ribbon-gallery-popup-styles.png) +## Template + +You can customize the default appearance and content of Ribbon gallery items by using the [Template](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_Template) property. + +### Popup Template + +You can customize the appearance of Ribbon gallery popup by using the [PopupTemplate](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupTemplate) property. + +The below example demonstrates the customization of both the `Template` and `PopupTemplate` properties: + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/galleryTemplate/razor %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET MVC Ribbon Control with gallery template](./images/ribbon-gallery-template.png) + > To know more about the built-in Ribbon items, please refer to the [Ribbon Items](./items) section. \ No newline at end of file diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md index f69a5de25f..b8c17addf3 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md @@ -178,4 +178,22 @@ The example demonstrates the customization of popup with `popupHeight` and `popu ![ASP.NET Core Ribbon Control with gallery popup width and height](./images/ribbon-gallery-popup-styles.png) +## Template + +You can customize the default appearance and content of Ribbon gallery items by using the [template](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_Template) property. + +### Popup Template + +You can customize the appearance of Ribbon gallery popup by using the [popupTemplate](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupTemplate) property. + +The below example demonstrates the customization of both the `template` and `popupTemplate` properties: + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/ribbon/gallery/galleryTemplate/tagHelper %} +{% endhighlight %} +{% endtabs %} + +![ASP.NET Core Ribbon Control with gallery template](./images/ribbon-gallery-template.png) + > To know more about the built-in Ribbon items, please refer to the [Ribbon Items](./items) section. \ No newline at end of file diff --git a/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-template.png b/ej2-asp-core-mvc/ribbon/images/ribbon-gallery-template.png new file mode 100644 index 0000000000000000000000000000000000000000..b06c4f4421ddc8b88a03a52b78230a496068c980 GIT binary patch literal 28580 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 NH`K1@%iVqSe*l+WMu`9b literal 0 HcmV?d00001 From fd6604ad52d33425424761be089471a70a7d684d Mon Sep 17 00:00:00 2001 From: SF4315 Date: Thu, 21 Mar 2024 17:33:56 +0530 Subject: [PATCH 045/134] 877011: Addressed review changes in comments documentation --- ej2-asp-core-mvc/document-editor/comments.md | 4 ++-- ej2-asp-core-mvc/document-editor/view.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ej2-asp-core-mvc/document-editor/comments.md b/ej2-asp-core-mvc/document-editor/comments.md index 999be13f17..d4525f424c 100644 --- a/ej2-asp-core-mvc/document-editor/comments.md +++ b/ej2-asp-core-mvc/document-editor/comments.md @@ -93,7 +93,7 @@ The following example illustrates how to enable mention support in Document Edit {% highlight cshtml tabtitle="CSHTML" %} {% include code-snippet/document-editor-container/comments-mention/tagHelper %} {% endhighlight %} -{% highlight c# tabtitle="Comment-only.cs" %} +{% highlight c# tabtitle="comments-mention.cs" %} {% endhighlight %}{% endtabs %} {% elsif page.publishingplatform == "aspnet-mvc" %} @@ -102,6 +102,6 @@ The following example illustrates how to enable mention support in Document Edit {% highlight razor tabtitle="CSHTML" %} {% include code-snippet/document-editor-container/comments-mention/razor %} {% endhighlight %} -{% highlight c# tabtitle="Comment-only.cs" %} +{% highlight c# tabtitle="comments-mention.cs" %} {% endhighlight %}{% endtabs %} {% endif %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/document-editor/view.md b/ej2-asp-core-mvc/document-editor/view.md index 85dede9123..36416ed6e9 100644 --- a/ej2-asp-core-mvc/document-editor/view.md +++ b/ej2-asp-core-mvc/document-editor/view.md @@ -74,7 +74,7 @@ The following example illustrates how to enable heading navigation pane in Docum {% highlight cshtml tabtitle="CSHTML" %} {% include code-snippet/document-editor/heading-navigation/tagHelper %} {% endhighlight %} -{% highlight c# tabtitle="Document-editor.cs" %} +{% highlight c# tabtitle="heading-navigation.cs" %} {% include code-snippet/document-editor/heading-navigation/document-editor.cs %} {% endhighlight %} {% endtabs %} @@ -85,7 +85,7 @@ The following example illustrates how to enable heading navigation pane in Docum {% highlight razor tabtitle="CSHTML" %} {% include code-snippet/document-editor/heading-navigation/razor %} {% endhighlight %} -{% highlight c# tabtitle="Document-editor.cs" %} +{% highlight c# tabtitle="heading-navigation.cs" %} {% include code-snippet/document-editor/heading-navigation/document-editor.cs %} {% endhighlight %} {% endtabs %} From 150c337c21ef933a973736051d03e9e882482a35 Mon Sep 17 00:00:00 2001 From: Balaji-SF4331 Date: Fri, 22 Mar 2024 10:32:16 +0530 Subject: [PATCH 046/134] 877772: Fixed, Timeline UG items table alignment issue. --- ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md | 2 +- ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md index 665fc820dd..728f9b3188 100644 --- a/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.MVC/items.md @@ -1,4 +1,4 @@ - --- +--- layout: post title: Items in ##Platform_Name## Timeline Control | Syncfusion description: Checkout and learn about Items in Syncfusion ##Platform_Name## Timeline control of Syncfusion Essential JS 2 and more. diff --git a/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md index 193164954a..59031c7ade 100644 --- a/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md +++ b/ej2-asp-core-mvc/timeline/EJ2_ASP.NETCORE/items.md @@ -1,4 +1,4 @@ - --- +--- layout: post title: Items in ##Platform_Name## Timeline Control | Syncfusion description: Checkout and learn about Items in Syncfusion ##Platform_Name## Timeline control of Syncfusion Essential JS 2 and more. From d8b8b7e0fdc082f529cbd94c5c5817fb9601c7be Mon Sep 17 00:00:00 2001 From: ShanmugarajanSaravanan <111413468+ShanmugarajanSaravanan@users.noreply.github.com> Date: Fri, 22 Mar 2024 11:05:25 +0530 Subject: [PATCH 047/134] 875460: Header casing updated. --- ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md | 2 +- ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md index 8ab2415f1f..729ebaac8a 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/gallery-items.md @@ -182,7 +182,7 @@ The example demonstrates the customization of popup with `PopupHeight` and `Popu You can customize the default appearance and content of Ribbon gallery items by using the [Template](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_Template) property. -### Popup Template +### Popup template You can customize the appearance of Ribbon gallery popup by using the [PopupTemplate](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupTemplate) property. diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md index b8c17addf3..f560d7b739 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/gallery-items.md @@ -182,7 +182,7 @@ The example demonstrates the customization of popup with `popupHeight` and `popu You can customize the default appearance and content of Ribbon gallery items by using the [template](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_Template) property. -### Popup Template +### Popup template You can customize the appearance of Ribbon gallery popup by using the [popupTemplate](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonGallerySettings.html#Syncfusion_EJ2_Ribbon_RibbonGallerySettings_PopupTemplate) property. From 6f8b9ed4f12c39669f03663e4906899b700e5583 Mon Sep 17 00:00:00 2001 From: mohanrajsf3477 <98141646+mohanrajsf3477@users.noreply.github.com> Date: Fri, 22 Mar 2024 11:24:08 +0530 Subject: [PATCH 048/134] 877894: UG documentation changed moved to hotfix for TextArea component --- .../textarea/EJ2_ASP.MVC/getting-started.md | 6 +++--- .../EJ2_ASP.NETCORE/getting-started.md | 8 ++++---- ej2-asp-core-mvc/textarea/events.md | 18 +++++++++--------- ej2-asp-core-mvc/textarea/floating-label.md | 2 +- ej2-asp-core-mvc/textarea/form-support.md | 2 +- ej2-asp-core-mvc/textarea/max-length.md | 2 +- ej2-asp-core-mvc/textarea/methods.md | 8 ++++---- ej2-asp-core-mvc/textarea/resize.md | 2 +- ej2-asp-core-mvc/textarea/rows-columns.md | 2 +- ej2-asp-core-mvc/textarea/style-appearance.md | 18 +++++++++--------- 10 files changed, 34 insertions(+), 34 deletions(-) diff --git a/ej2-asp-core-mvc/textarea/EJ2_ASP.MVC/getting-started.md b/ej2-asp-core-mvc/textarea/EJ2_ASP.MVC/getting-started.md index 1c2e13134b..21e7ce9e62 100644 --- a/ej2-asp-core-mvc/textarea/EJ2_ASP.MVC/getting-started.md +++ b/ej2-asp-core-mvc/textarea/EJ2_ASP.MVC/getting-started.md @@ -69,7 +69,7 @@ Here, the theme and script is referred using CDN inside the `` of `~/Pages N> Checkout the [Themes topic](https://ej2.syncfusion.com/aspnetmvc/documentation/appearance/theme) to learn different ways (CDN, NPM package, and [CRG](https://ej2.syncfusion.com/aspnetmvc/documentation/common/custom-resource-generator)) to refer styles in ASP.NET MVC application, and to have the expected appearance for Syncfusion ASP.NET MVC controls. Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetmvc/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET MVC application. -## Register Syncfusion script manager +## Register syncfusion script manager Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Pages/Shared/_Layout.cshtml` file as follows. @@ -102,7 +102,7 @@ Press Ctrl+F5 (Windows) or +F5 (m ## Getting and setting values -To set the initial value of the TextArea component, you can utilize the [`value`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Value) property. Here's how you can achieve it: +To set the initial value of the TextArea control, you can utilize the [`value`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Value) property. Here's how you can achieve it: {% tabs %} {% highlight razor tabtitle="CSHTML" %} @@ -124,7 +124,7 @@ To set the initial value of the TextArea component, you can utilize the [`value` {% endhighlight %} {% endtabs %} -* You can dynamically retrieve the value of the TextArea component using the `value` property from the TextArea component instance. +* You can dynamically retrieve the value of the TextArea control using the `value` property from the TextArea control instance. {% tabs %} {% highlight razor tabtitle="CSHTML" %} diff --git a/ej2-asp-core-mvc/textarea/EJ2_ASP.NETCORE/getting-started.md b/ej2-asp-core-mvc/textarea/EJ2_ASP.NETCORE/getting-started.md index ca05128208..70cd74a276 100644 --- a/ej2-asp-core-mvc/textarea/EJ2_ASP.NETCORE/getting-started.md +++ b/ej2-asp-core-mvc/textarea/EJ2_ASP.NETCORE/getting-started.md @@ -37,7 +37,7 @@ Install-Package Syncfusion.EJ2.AspNet.Core -Version {{ site.releaseversion }} N> Syncfusion ASP.NET Core controls are available in [nuget.org.](https://www.nuget.org/packages?q=syncfusion.EJ2) Refer to [NuGet packages topic](https://ej2.syncfusion.com/aspnetcore/documentation/nuget-packages) to learn more about installing NuGet packages in various OS environments. The Syncfusion.EJ2.AspNet.Core NuGet package has dependencies, [Newtonsoft.Json](https://www.nuget.org/packages/Newtonsoft.Json/) for JSON serialization and [Syncfusion.Licensing](https://www.nuget.org/packages/Syncfusion.Licensing/) for validating Syncfusion license key. -## Add Syncfusion ASP.NET Core Tag Helper +## Add syncfusion ASP.NET Core Tag Helper Open `~/Pages/_ViewImports.cshtml` file and import the `Syncfusion.EJ2` TagHelper. {% tabs %} @@ -70,7 +70,7 @@ N> Checkout the [Themes topic](https://ej2.syncfusion.com/aspnetcore/documentati N> Checkout the [Adding Script Reference](https://ej2.syncfusion.com/aspnetcore/documentation/common/adding-script-references) topic to learn different approaches for adding script references in your ASP.NET Core application. -## Register Syncfusion Script Manager +## Register syncfusion script manager Also, register the script manager `` at the end of `` in the ASP.NET Core application as follows. @@ -102,7 +102,7 @@ Press Ctrl+F5 (Windows) or +F5 (m ## Getting and setting values -To set the initial value of the TextArea component, you can utilize the [`value`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Value) property. Here's how you can achieve it: +To set the initial value of the TextArea control, you can utilize the [`value`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Value) property. Here's how you can achieve it: {% tabs %} {% highlight razor tabtitle="CSHTML" %} @@ -118,7 +118,7 @@ To set the initial value of the TextArea component, you can utilize the [`value` {% endhighlight %} {% endtabs %} -* You can dynamically retrieve the value of the TextArea component using the `value` property from the TextArea component instance. +* You can dynamically retrieve the value of the TextArea control using the `value` property from the TextArea control instance. {% tabs %} {% highlight razor tabtitle="CSHTML" %} diff --git a/ej2-asp-core-mvc/textarea/events.md b/ej2-asp-core-mvc/textarea/events.md index f90a986434..8829e1785c 100644 --- a/ej2-asp-core-mvc/textarea/events.md +++ b/ej2-asp-core-mvc/textarea/events.md @@ -9,13 +9,13 @@ documentation: ug domainurl: ##DomainURL## --- -# Events in ##Platform_Name## TextArea control +# Events in ##Platform_Name## TextArea Control This section describes the TextArea events that will be triggered when appropriate actions are performed. The following events are available in the TextArea control. -## Created +## Created event -The TextArea control triggers the [Created](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Created) event when the TextArea component is created. This event provides users with an opportunity to perform actions immediately after the TextArea has been created and initialized. +The TextArea control triggers the [Created](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Created) event when the TextArea control is created. This event provides users with an opportunity to perform actions immediately after the TextArea has been created and initialized. {% if page.publishingplatform == "aspnet-core" %} @@ -40,7 +40,7 @@ The TextArea control triggers the [Created](https://help.syncfusion.com/cr/aspne {% endtabs %} {% endif %} -## Input +## Input event The TextArea control triggers the [Input](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Input) each time when the value of TextArea has changed. This event provides users with an opportunity to perform actions in response to real-time changes in the TextArea's content. The [InputEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextBox.html#Syncfusion_EJ2_Inputs_TextBox_InputEventArgs/) passed as an event argument provides the details about the input event in the TextArea. @@ -68,7 +68,7 @@ The [InputEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ {% endtabs %} {% endif %} -## Change +## Change event The TextArea control triggers the [Change](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Change) event when the content of TextArea has changed and gets focus-out. This event provides users with an opportunity to execute specific actions in response to changes made by the user. The [ChangedEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextBox.html#Syncfusion_EJ2_Inputs_TextBox_ChangedEventArgs/) passed as an event argument provides the details about the changes in the TextArea's value. @@ -96,7 +96,7 @@ The [ChangedEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion. {% endtabs %} {% endif %} -## Focus +## Focus event The TextArea control triggers the [Focus](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Focus ) when the TextArea gains focus. This event allows developers to execute specific actions when the user interacts with the TextArea by focusing on it. The [FocusInEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextBox.html#Syncfusion_EJ2_Inputs_TextBox_FocusInEventArgs/) passed as an argument provides details about the focus event in the TextArea. @@ -124,7 +124,7 @@ The [FocusInEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion. {% endtabs %} {% endif %} -## Blur +## Blur event The TextArea control triggers the [Blur](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Blur) when the TextArea loses focus. This event allows users to execute specific actions when the user interacts with the TextArea by moving focus away from it. The [FocusOutEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextBox.html#Syncfusion_EJ2_Inputs_TextBox_FocusOutEventArgs/) passed as an argument provides details about the blur event in the TextArea. @@ -152,9 +152,9 @@ The [FocusOutEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion {% endtabs %} {% endif %} -## Destroyed +## Destroyed event -The TextArea control triggers the [Destroyed](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Destroyed) when the TextArea component is destroyed. +The TextArea control triggers the [Destroyed](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_Destroyed) when the TextArea control is destroyed. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/textarea/floating-label.md b/ej2-asp-core-mvc/textarea/floating-label.md index 5e60460ace..9c98a11398 100644 --- a/ej2-asp-core-mvc/textarea/floating-label.md +++ b/ej2-asp-core-mvc/textarea/floating-label.md @@ -9,7 +9,7 @@ documentation: ug domainurl: ##DomainURL## --- -# Floating Label in ##Platform_Name## TextArea control +# Floating Label in ##Platform_Name## TextArea Control The floating label functionality in the TextArea control allows the placeholder text to float above the TextArea while the user interacts with it, providing a more intuitive user experience. This feature can be achieved using the [FloatLabelType](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_FloatLabelType) API, which offers various options for defining the floating behavior: diff --git a/ej2-asp-core-mvc/textarea/form-support.md b/ej2-asp-core-mvc/textarea/form-support.md index 6bd8b851ea..1c3840f9f6 100644 --- a/ej2-asp-core-mvc/textarea/form-support.md +++ b/ej2-asp-core-mvc/textarea/form-support.md @@ -9,7 +9,7 @@ documentation: ug domainurl: ##DomainURL## --- -# Form Support in ##Platform_Name## TextArea control +# Form Support in ##Platform_Name## TextArea Control The TextArea control seamlessly integrates with HTML forms, enabling efficient submission of longer text data. By including TextArea inputs within HTML forms, users can conveniently input multiline text content and submit it as part of form submissions. diff --git a/ej2-asp-core-mvc/textarea/max-length.md b/ej2-asp-core-mvc/textarea/max-length.md index e2ba754821..d349d60998 100644 --- a/ej2-asp-core-mvc/textarea/max-length.md +++ b/ej2-asp-core-mvc/textarea/max-length.md @@ -9,7 +9,7 @@ documentation: ug domainurl: ##DomainURL## --- -# Maximum Length in ##Platform_Name## TextArea control +# Maximum Length in ##Platform_Name## TextArea Control You can enforce a maximum length limit for the text input in the TextArea using the [MaxLength](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_MaxLength) property. This property allows to define the maximum number of characters that users can input into the TextArea. diff --git a/ej2-asp-core-mvc/textarea/methods.md b/ej2-asp-core-mvc/textarea/methods.md index fba203efe8..fc181fd866 100644 --- a/ej2-asp-core-mvc/textarea/methods.md +++ b/ej2-asp-core-mvc/textarea/methods.md @@ -9,11 +9,11 @@ documentation: ug domainurl: ##DomainURL## --- -# Methods in ##Platform_Name## TextArea control +# Methods in ##Platform_Name## TextArea Control This section outlines the methods available for interacting with the TextArea control. -## focusIn +## FocusIn method The [focusIn](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_focusIn) method in the TextArea, is used to set focus to the textarea element, enabling user interaction. @@ -46,7 +46,7 @@ By calling the `focusIn` method, you can programmatically set focus to the TextA {% previewsample "page.domainurl/code-snippet/textarea/methods-cs1" %} {% endif %} -## focusOut +## FocusOut method The [focusOut](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_focusOut) method in the TextArea control is used to remove focus from the textarea element, ending user interaction. This method is beneficial for scenarios where user need to programmatically remove focus from the TextArea control, such as after completing a specific task or when navigating to another element in the application. @@ -78,7 +78,7 @@ This method is beneficial for scenarios where user need to programmatically remo {% previewsample "page.domainurl/code-snippet/textarea/methods-cs2" %} {% endif %} -## getPersistData +## GetPersistData method The [getPersistData](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_getPersistData) method in the TextArea control retrieves the properties that need to be maintained in the persisted state. This method returns an object containing the properties to be persisted, which can include various configuration options and state information of the TextArea control. diff --git a/ej2-asp-core-mvc/textarea/resize.md b/ej2-asp-core-mvc/textarea/resize.md index d36780b09b..491949d3fd 100644 --- a/ej2-asp-core-mvc/textarea/resize.md +++ b/ej2-asp-core-mvc/textarea/resize.md @@ -9,7 +9,7 @@ documentation: ug domainurl: ##DomainURL## --- -# Resize in ##Platform_Name## TextArea control +# Resize in ##Platform_Name## TextArea Control The TextArea allows users to input and edit large amounts of text. Resizing this control effectively can enhance the user experience and accommodate varying content needs. This resizing behavior can be enabled and configured using the [ResizeMode](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_ResizeMode) API, which offers several options for resizing the TextArea: diff --git a/ej2-asp-core-mvc/textarea/rows-columns.md b/ej2-asp-core-mvc/textarea/rows-columns.md index ad872fb4cf..5144ebc3bb 100644 --- a/ej2-asp-core-mvc/textarea/rows-columns.md +++ b/ej2-asp-core-mvc/textarea/rows-columns.md @@ -9,7 +9,7 @@ documentation: ug domainurl: ##DomainURL## --- -# Rows and Columns in ##Platform_Name## TextArea control +# Rows and Columns in ##Platform_Name## TextArea Control Two essential attributes, `rows` and `columns`, play a pivotal role in customizing the TextArea's appearance and layout. The `rows`attribute determines the initial visible number of lines within the TextArea, controlling its vertical size. Conversely, the `columns` attribute specifies the visible width of the TextArea in characters per line, determining its initial width. diff --git a/ej2-asp-core-mvc/textarea/style-appearance.md b/ej2-asp-core-mvc/textarea/style-appearance.md index c994f2e288..05bc187e69 100644 --- a/ej2-asp-core-mvc/textarea/style-appearance.md +++ b/ej2-asp-core-mvc/textarea/style-appearance.md @@ -9,7 +9,7 @@ documentation: ug domainurl: ##DomainURL## --- -# Sizing in ##Platform_Name## TextArea control +# Sizing in ##Platform_Name## TextArea Control you can adjust the size of the TextArea by applying specific classes: @@ -48,10 +48,10 @@ Output be like the below. ![textarea](./images/textarea-sizing.png) -## Filled and Outline mode +## Filled and outline mode -The Filled and Outline modes can be enabled in the TextArea component by adding the `e-outline` or `e-filled` class to the [CssClass](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_CssClass) API. -By adding these classes, users can choose between a filled or outline appearance for the TextArea component, aligning with the design aesthetics of their application. +The Filled and Outline modes can be enabled in the TextArea control by adding the `e-outline` or `e-filled` class to the [CssClass](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_CssClass) API. +By adding these classes, users can choose between a filled or outline appearance for the TextArea control, aligning with the design aesthetics of their application. {% if page.publishingplatform == "aspnet-core" %} @@ -85,9 +85,9 @@ Output be like the below. ## Custom styling with cssClass API in TextArea -The `CssClass` Api provides a powerful way to apply custom styling to the TextArea component, allowing users to customize its appearance and layout according to their design requirements. +The `CssClass` Api provides a powerful way to apply custom styling to the TextArea control, allowing users to customize its appearance and layout according to their design requirements. -By utilizing the `CssClass` API, users can apply custom CSS classes to the TextArea component's container, enabling control over its styling properties such as color, padding, margins, borders, and more. +By utilizing the `CssClass` API, users can apply custom CSS classes to the TextArea control's container, enabling control over its styling properties such as color, padding, margins, borders, and more. {% if page.publishingplatform == "aspnet-core" %} @@ -157,9 +157,9 @@ Render the TextArea with `rounded corner` by adding the `e-corner` class to the ``` -## Static Clear Button in TextArea +## Static clear button in TextArea -To display a static clear button in the TextArea component, you can add the `e-static-clear` class to the `CssClass` property. This class ensures that the clear button remains visible at all times, providing users with the ability to easily clear the TextArea content without needing to focus on the control. +To display a static clear button in the TextArea control, you can add the `e-static-clear` class to the `CssClass` property. This class ensures that the clear button remains visible at all times, providing users with the ability to easily clear the TextArea content without needing to focus on the control. {% if page.publishingplatform == "aspnet-core" %} @@ -273,7 +273,7 @@ Output be like the below. ## Adding mandatory asterisk to placeholder -To add a mandatory asterisk (*) to the placeholder in the TextArea component, you can utilize CSS to append the asterisk after the placeholder text. +To add a mandatory asterisk (*) to the placeholder in the TextArea control, you can utilize CSS to append the asterisk after the placeholder text. ```css From 5410a3e2ceca30c886b77c7619953905f36ed21a Mon Sep 17 00:00:00 2001 From: mohanrajsf3477 <98141646+mohanrajsf3477@users.noreply.github.com> Date: Fri, 22 Mar 2024 11:59:06 +0530 Subject: [PATCH 049/134] 877894: UG documentation changed moved to hotfix for TextArea component --- ej2-asp-core-mvc/textarea/methods.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/textarea/methods.md b/ej2-asp-core-mvc/textarea/methods.md index fc181fd866..aa39125306 100644 --- a/ej2-asp-core-mvc/textarea/methods.md +++ b/ej2-asp-core-mvc/textarea/methods.md @@ -1,7 +1,7 @@ --- layout: post title: Methods in ##Platform_Name## TextArea control | Syncfusion -description: Handling methods in the ##Platform_Name## TextArea control of Syncfusion Essential JS 2 and more. +description: Checkout and learn about methods in the ##Platform_Name## TextArea control of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Methods publishingplatform: ##Platform_Name## From 91b9691c7b22a8af1e71c08e762fddbd162870fe Mon Sep 17 00:00:00 2001 From: lokesharjunan <61532454+lokesharjunan@users.noreply.github.com> Date: Fri, 22 Mar 2024 13:38:15 +0530 Subject: [PATCH 050/134] Update razor --- .../code-snippet/gantt/undo-redo/clear/razor | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/clear/razor b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/clear/razor index fbdf05a25c..f3bc263e74 100644 --- a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/clear/razor +++ b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/clear/razor @@ -3,11 +3,13 @@ @Html.EJS().Button("ClearRedoCollection").Content("Clear Redo Collection").CssClass("e-primary").Render() - @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px").Toolbar(new List() - { "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit","Indent","Outdent", - "PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).EnableUndoRedo(true).UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", "Edit", "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }).TaskFields(ts => - ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") - ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).AllowRowDragAndDrop(true).ShowColumnMenu(true)).Render() + @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px"). + Toolbar(new List(){ "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit", + "Indent","Outdent","PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).EnableUndoRedo(true). + UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", "Edit", + "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }). + TaskFields(ts =>ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") + ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).ShowColumnMenu(true)).Render() \ No newline at end of file + From b90fab591dad7842566cd3c546a5f31d5963d039 Mon Sep 17 00:00:00 2001 From: lokesharjunan <61532454+lokesharjunan@users.noreply.github.com> Date: Fri, 22 Mar 2024 13:38:39 +0530 Subject: [PATCH 051/134] Update razor --- .../code-snippet/gantt/undo-redo/dynamic/razor | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/dynamic/razor b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/dynamic/razor index db5df97b1a..0c2913e44a 100644 --- a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/dynamic/razor +++ b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/dynamic/razor @@ -2,11 +2,13 @@ @Html.EJS().Button("Redo").Content("Redo").CssClass("e-primary").Render() - @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px").Toolbar(new List() - { "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit","Indent","Outdent", - "PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).EnableUndoRedo(true).UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", "Edit", "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }).TaskFields(ts => - ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") - ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).AllowRowDragAndDrop(true).ShowColumnMenu(true)).Render() + @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px"). + Toolbar(new List(){ "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit","Indent","Outdent", + "PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).EnableUndoRedo(true).AllowRowDragAndDrop(true). + UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", "Edit", + "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }). + TaskFields(ts =>ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") + ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).ShowColumnMenu(true)).Render() \ No newline at end of file + From 405386d3b5af05be5e2a74fa47ed51e51155161f Mon Sep 17 00:00:00 2001 From: lokesharjunan <61532454+lokesharjunan@users.noreply.github.com> Date: Fri, 22 Mar 2024 13:38:58 +0530 Subject: [PATCH 052/134] Update razor --- .../code-snippet/gantt/undo-redo/retrieve/razor | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/retrieve/razor b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/retrieve/razor index 78a2a3e9a8..4145024402 100644 --- a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/retrieve/razor +++ b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/retrieve/razor @@ -3,11 +3,13 @@ @Html.EJS().Button("GetRedoCollection").Content("Get Redo Collection").CssClass("e-primary").Render() - @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px").Toolbar(new List() - { "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit","Indent","Outdent", - "PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).EnableUndoRedo(true).UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", "Edit", "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }).TaskFields(ts => - ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") - ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).AllowRowDragAndDrop(true).ShowColumnMenu(true)).Render() + @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px"). + Toolbar(new List(){ "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit", + "Indent","Outdent","PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).EnableUndoRedo(true).AllowRowDragAndDrop(true). + UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", + "Edit", "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }). + TaskFields(ts =>ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") + ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).ShowColumnMenu(true)).Render() \ No newline at end of file + From fe252ede1cdd7ce63424a4a3e23bca129fab1cea Mon Sep 17 00:00:00 2001 From: lokesharjunan <61532454+lokesharjunan@users.noreply.github.com> Date: Fri, 22 Mar 2024 13:39:27 +0530 Subject: [PATCH 053/134] Update razor --- .../code-snippet/gantt/undo-redo/stepsCount/razor | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/stepsCount/razor b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/stepsCount/razor index dc17deaed8..bb0836694e 100644 --- a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/stepsCount/razor +++ b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/stepsCount/razor @@ -1,5 +1,7 @@ - @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px").Toolbar(new List() - { "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit","Indent","Outdent", - "PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).UndoRedoStepsCount(5).EnableUndoRedo(true).UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", "Edit", "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }).TaskFields(ts => - ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") - ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).AllowRowDragAndDrop(true).ShowColumnMenu(true)).Render() \ No newline at end of file + @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px"). + Toolbar(new List(){ "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit", + "Indent","Outdent","PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).UndoRedoStepsCount(5).EnableUndoRedo(true). + UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", + "Edit", "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }). + TaskFields(ts =>ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") + ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).AllowRowDragAndDrop(true).ShowColumnMenu(true)).Render() From 3e92cbe95eb0947e7fc6442806d9cb9ffe733520 Mon Sep 17 00:00:00 2001 From: lokesharjunan <61532454+lokesharjunan@users.noreply.github.com> Date: Fri, 22 Mar 2024 13:40:00 +0530 Subject: [PATCH 054/134] 0000: undo --- .../code-snippet/gantt/undo-redo/undoActions/razor | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/undoActions/razor b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/undoActions/razor index 3a3286c5ed..b52e7033a2 100644 --- a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/undoActions/razor +++ b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/undoActions/razor @@ -1,5 +1,6 @@ - @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px").Toolbar(new List() - { "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit","Indent","Outdent", - "PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).EnableUndoRedo(true).UndoRedoActions(new List() { "Delete", "Edit" }).TaskFields(ts => - ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") - ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).AllowRowDragAndDrop(true).ShowColumnMenu(true)).Render() \ No newline at end of file + @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px"). + Toolbar(new List(){ "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit", + "Indent","Outdent","PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).AllowRowDragAndDrop(true). + UndoRedoActions(new List() { "Delete", "Edit" }).EnableUndoRedo(true). + TaskFields(ts =>ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") + ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).ShowColumnMenu(true)).Render() From 6a59810d6f64d1e13d876f12ef2257a7ad269e6f Mon Sep 17 00:00:00 2001 From: Jaganaath24-Baskaran Date: Fri, 22 Mar 2024 16:00:08 +0530 Subject: [PATCH 055/134] 878261: Modify Querybuilder UG Content for Import-Export, Lock and Clone Samples --- .../query-builder/clone-group-rule.md | 2 +- .../query-builder/import-export.md | 58 ++++++++++--------- .../query-builder/lock-group-rule.md | 2 +- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/ej2-asp-core-mvc/query-builder/clone-group-rule.md b/ej2-asp-core-mvc/query-builder/clone-group-rule.md index 0f57a395e6..fd00d5b48e 100644 --- a/ej2-asp-core-mvc/query-builder/clone-group-rule.md +++ b/ej2-asp-core-mvc/query-builder/clone-group-rule.md @@ -11,7 +11,7 @@ documentation: ug # Clone Group/Rule in ##Platform_Name## Query builder control -Query Builder allows you to clone rules as well as groups. The Clone options will create an exact replica of a rule or group next to the original. You can use `ShowButtons` to enable/disable these buttons. +The Query Builder functionality extends to cloning both individual rules and entire groups. Utilizing the Clone options will generate an exact duplicate of a rule or group adjacent to the original one. This feature enables users to replicate complex query structures effortlessly. The `ShowButtons` function offers users the ability to toggle the visibility of these cloning buttons, providing convenient control over the cloning process within the Query Builder interface. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/query-builder/import-export.md b/ej2-asp-core-mvc/query-builder/import-export.md index d279f0ecad..fdc29cbf8b 100644 --- a/ej2-asp-core-mvc/query-builder/import-export.md +++ b/ej2-asp-core-mvc/query-builder/import-export.md @@ -8,17 +8,21 @@ publishingplatform: ##Platform_Name## documentation: ug --- -# Import export in ##Platform_Name## Query builder control +# Importing and Exporting in ##Platform_Name## Query builder control -Importing allows you to view or edit the predefined conditions which is available in JSON or SQL. You can import the conditions either initial rendering or post rendering. +Importing facilitates the viewing or editing of predefined conditions available in JSON, SQL, and MongoDB query formats, while exporting enables obtaining the created rules in the query builder as JSON, SQL, and MongoDB queries. ## Importing -### Importing from JSON +Importing enables users to bring predefined conditions into the system for viewing or editing, available in formats such as JSON, SQL, and MongoDB query. It facilitates the quick incorporation of pre-defined rules or parameters into workflows, streamlining the setup process by importing directly from external sources or saved configurations. + +### Importing from JSON Object + +Importing from JSON enables users to bring predefined conditions encoded in JSON format into the system. This feature streamlines the process by providing a standardized format for importing data, ensuring compatibility, and ease of use. #### Initial Rendering -To apply conditions initially, you can define the `Rule`. Here, you can import structured JSON object by defining the `Rule` property. +To initially apply conditions, you can establish the `Rule` by importing a structured JSON object and defining its properties. {% if page.publishingplatform == "aspnet-core" %} @@ -70,13 +74,13 @@ You can set the conditions from structured JSON object through the `setRules` me {% endtabs %} {% endif %} +### Importing From SQL Query +Importing from SQL involves integrating predefined conditions or data stored in a SQL database into the Query Builder. This enables the direct integration of SQL queries, thereby improving workflow efficiency and data accuracy within the application. SQL importing supports various types, including Inline SQL, Parameter SQL, and Named Parameter SQL. -### Importing From SQL +#### Importing from Inline SQL Query -#### Importing from Inline SQL - -You can set the conditions from Inline SQL query through the `setRulesFromSql` method. +Importing from Inline SQL involves integrating SQL queries directly into the Query Builder. This method streamlines the process by enabling users to input SQL statements directly into the application for analysis, manipulation, or further processing within the Query Builder. Conditions can be set from Inline SQL queries using the `setRulesFromSql` method. {% if page.publishingplatform == "aspnet-core" %} @@ -101,9 +105,9 @@ You can set the conditions from Inline SQL query through the `setRulesFromSql` m {% endtabs %} {% endif %} -#### Importing from Parameter SQL +#### Importing from Parameter SQL Query -You can set the conditions from Parameter SQL query through the `setParameterizedSql` method. +Importing from Parameter SQL involves integrating SQL queries with parameters directly into the Query Builder. This method allows users to input SQL statements containing parameters, which can be dynamically filled in during execution. It streamlines the process by enabling flexible and customizable querying within the application. Conditions can be set from Parameter SQL queries using the `setParameterizedSql` method. {% if page.publishingplatform == "aspnet-core" %} @@ -128,9 +132,9 @@ You can set the conditions from Parameter SQL query through the `setParameterize {% endtabs %} {% endif %} -#### Importing from Named Parameter SQL +#### Importing from Named Parameter SQL Query -You can set the conditions from Named Parameter SQL query through the `setParameterizedNamedSql` method. +Importing from Named Parameter SQL involves integrating SQL queries with named parameters directly into the Query Builder. This method enables users to input SQL statements containing named parameters, providing flexibility and customization during execution. It streamlines the process by allowing dynamic parameter assignment within the application's query environment. Conditions can be set from Named Parameter SQL queries using the `setParameterizedNamedSql` method. {% if page.publishingplatform == "aspnet-core" %} @@ -155,9 +159,9 @@ You can set the conditions from Named Parameter SQL query through the `setParame {% endtabs %} {% endif %} -### Importing from MongoDB +### Importing from MongoDB Query -You can set the conditions from MongoDB query through the `setMongoQuery` method. +Importing from MongoDB Query involves integrating MongoDB queries directly into the Query Builder. This enables users to input MongoDB query statements directly into the application, allowing for seamless integration and manipulation of MongoDB data within the Query Builder environment. It streamlines the process by facilitating direct access to MongoDB data for analysis, filtering, and further processing within the application. Conditions can be set from Named Parameter SQL queries using the `setMongoQuery` method. {% if page.publishingplatform == "aspnet-core" %} @@ -185,17 +189,19 @@ You can set the conditions from MongoDB query through the `setMongoQuery` method ## Exporting -Exporting allows you to save or maintain the created conditions through the Query Builder. You can export the defined conditions by the following ways. +Exporting from the Query Builder allows users to preserve or store the created conditions. The defined conditions can be exported using various methods, including: + +### Exporting to JSON Object -### Exporting to JSON +You can extract the established conditions in the Query Builder and convert them into a structured JSON object format using the `getRules` method. This process enables users to save or transfer the conditions for further use or analysis in other applications or systems that support JSON data. -You can export the defined conditions to structured JSON object through the `getRules` method. +### Exporting to SQL Query -### Exporting to SQL +Exporting to SQL involves converting the defined conditions within the Query Builder into SQL queries. This functionality allows users to generate SQL code representing the conditions set in the Query Builder, which can then be executed directly on a SQL database or used for further analysis and processing. SQL exporting supports various types, including Inline SQL, Parameter SQL, and Named Parameter SQL. -#### Exporting to Inline SQL +#### Exporting to Inline SQL Query -You can export the defined conditions to Inline SQL query through the `getRulesFromSQL` method. +Exporting to Inline SQL Query entails embedding the defined conditions from the Query Builder directly into SQL statements within the exported code. This method ensures that the conditions are seamlessly integrated into the SQL query syntax, enabling straightforward execution or further processing within SQL database systems. This can be achieved using the `getRulesFromSQL` method. {% if page.publishingplatform == "aspnet-core" %} @@ -220,9 +226,9 @@ You can export the defined conditions to Inline SQL query through the `getRulesF {% endtabs %} {% endif %} -#### Exporting to Parameter SQL +#### Exporting to Parameter SQL Query -You can export the defined conditions to Parameter SQL query through the `getParameterizedSql` method. +Exporting to Parameter SQL involves incorporating the defined conditions from the Query Builder into SQL queries with parameters. This method allows for dynamic value assignment during execution, enhancing flexibility and adaptability in query processing within SQL database. This can be accomplished using the `getParameterizedSql` method for exporting to Parameter SQL query. {% if page.publishingplatform == "aspnet-core" %} @@ -247,9 +253,9 @@ You can export the defined conditions to Parameter SQL query through the `getPar {% endtabs %} {% endif %} -#### Exporting to Named Parameter SQL +#### Exporting to Named Parameter SQL Query -You can export the defined conditions to Named Parameter SQL query through the `getParameterizedNamedSql` method. +Exporting to Named Parameter SQL entails integrating the defined conditions from the Query Builder into SQL queries with named parameters. This method offers enhanced readability and flexibility during execution by using named placeholders for parameter values. Named Parameter SQL facilitates easier maintenance and modification of queries, making it convenient for dynamic parameter assignment within SQL database. This can be accomplished using the method `getParameterizedNamedSql` for exporting to Named Parameter SQL query. {% if page.publishingplatform == "aspnet-core" %} @@ -274,9 +280,9 @@ You can export the defined conditions to Named Parameter SQL query through the ` {% endtabs %} {% endif %} -### Exporting to MongoDB +### Exporting to MongoDB Query -You can export the defined conditions to MongoDB query through the `getMongoQuery` method. +Exporting to MongoDB Query involves converting the defined conditions within the Query Builder into MongoDB query syntax. This process allows users to generate MongoDB queries representing the conditions set in the Query Builder, which can then be executed directly on a MongoDB database or used for further analysis and processing. This can be accomplished using the `getMongoQuery` method for exporting to MongoDB query. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/query-builder/lock-group-rule.md b/ej2-asp-core-mvc/query-builder/lock-group-rule.md index 9bf5747877..9700fb1c25 100644 --- a/ej2-asp-core-mvc/query-builder/lock-group-rule.md +++ b/ej2-asp-core-mvc/query-builder/lock-group-rule.md @@ -11,7 +11,7 @@ documentation: ug # Lock Group/Rule in ##Platform_Name## Query builder control -Query Builder allows you to lock rules as well as groups. When a rule is locked, the field, operator, and value will be disabled. When a group is locked, all the elements within the group will be disabled. You can use `ShowButtons` to enable/disable these buttons. +The Query Builder provides the functionality to lock individual rules or entire groups. When a rule is locked, it prevents users from modifying its field, operator, and value, effectively disabling these components. Similarly, locking a group disables all elements contained within it. This feature offers users greater control over their query configurations, ensuring that specific rules or groups remain unchanged. Additionally, users can manage the visibility of locking buttons through the `ShowButtons` function, allowing for seamless control over the locking mechanism. {% if page.publishingplatform == "aspnet-core" %} From 4e0e224aab26cad44a4424f38022f675e5d007d4 Mon Sep 17 00:00:00 2001 From: mohanrajsf3477 <98141646+mohanrajsf3477@users.noreply.github.com> Date: Fri, 22 Mar 2024 19:40:45 +0530 Subject: [PATCH 056/134] 877894: UG documentation changed moved to hotfix for TextArea component --- ej2-asp-core-mvc/textarea/events.md | 24 +++++----- ej2-asp-core-mvc/textarea/methods.md | 70 +++++++++++++--------------- 2 files changed, 45 insertions(+), 49 deletions(-) diff --git a/ej2-asp-core-mvc/textarea/events.md b/ej2-asp-core-mvc/textarea/events.md index 8829e1785c..fc36e9a0da 100644 --- a/ej2-asp-core-mvc/textarea/events.md +++ b/ej2-asp-core-mvc/textarea/events.md @@ -32,10 +32,10 @@ The TextArea control triggers the [Created](https://help.syncfusion.com/cr/aspne {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/created/razor %} +{% include code-snippet/textarea/events/created/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/created/created.cs %} +{% include code-snippet/textarea/events/created/created.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -60,10 +60,10 @@ The [InputEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/input/razor %} +{% include code-snippet/textarea/events/input/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/input/input.cs %} +{% include code-snippet/textarea/events/input/input.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -88,10 +88,10 @@ The [ChangedEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion. {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/change/razor %} +{% include code-snippet/textarea/events/change/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/change/change.cs %} +{% include code-snippet/textarea/events/change/change.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -116,10 +116,10 @@ The [FocusInEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion. {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/focus/razor %} +{% include code-snippet/textarea/events/focus/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/focus/focus.cs %} +{% include code-snippet/textarea/events/focus/focus.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -144,10 +144,10 @@ The [FocusOutEventArgs](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/blur/razor %} +{% include code-snippet/textarea/events/blur/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/blur/blur.cs %} +{% include code-snippet/textarea/events/blur/blur.cs %} {% endhighlight %} {% endtabs %} {% endif %} @@ -171,10 +171,10 @@ The TextArea control triggers the [Destroyed](https://help.syncfusion.com/cr/asp {% tabs %} {% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/textarea/destroyed/razor %} +{% include code-snippet/textarea/events/destroyed/razor %} {% endhighlight %} {% highlight c# tabtitle="Clear.cs" %} -{% include code-snippet/textarea/destroyed/destroyed.cs %} +{% include code-snippet/textarea/events/destroyed/destroyed.cs %} {% endhighlight %} {% endtabs %} {% endif %} diff --git a/ej2-asp-core-mvc/textarea/methods.md b/ej2-asp-core-mvc/textarea/methods.md index aa39125306..47e84316f0 100644 --- a/ej2-asp-core-mvc/textarea/methods.md +++ b/ej2-asp-core-mvc/textarea/methods.md @@ -19,30 +19,28 @@ The [focusIn](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Input By calling the `focusIn` method, you can programmatically set focus to the TextArea control, allowing users to interact with it via keyboard input or other means. -{% if page.publishingplatform == "typescript" %} + +{% if page.publishingplatform == "aspnet-core" %} {% tabs %} -{% highlight ts tabtitle="index.ts" %} -{% include code-snippet/textarea/methods-cs1/index.ts %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/methods-cs1/tagHelper %} {% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/textarea/methods-cs1/index.html %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/methods-cs1/methods1.cs %} {% endhighlight %} {% endtabs %} -{% previewsample "page.domainurl/code-snippet/textarea/methods-cs1" %} - -{% elsif page.publishingplatform == "javascript" %} +{% elsif page.publishingplatform == "aspnet-mvc" %} {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/textarea/methods-cs1/index.js %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/methods-cs1/razor %} {% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/textarea/methods-cs1/index.html %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/methods-cs1/methods1.cs %} {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/textarea/methods-cs1" %} {% endif %} @@ -51,30 +49,27 @@ By calling the `focusIn` method, you can programmatically set focus to the TextA The [focusOut](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_focusOut) method in the TextArea control is used to remove focus from the textarea element, ending user interaction. This method is beneficial for scenarios where user need to programmatically remove focus from the TextArea control, such as after completing a specific task or when navigating to another element in the application. -{% if page.publishingplatform == "typescript" %} +{% if page.publishingplatform == "aspnet-core" %} {% tabs %} -{% highlight ts tabtitle="index.ts" %} -{% include code-snippet/textarea/methods-cs2/index.ts %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/methods-cs2/tagHelper %} {% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/textarea/methods-cs2/index.html %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/methods-cs2/methods2.cs %} {% endhighlight %} {% endtabs %} -{% previewsample "page.domainurl/code-snippet/textarea/methods-cs2" %} - -{% elsif page.publishingplatform == "javascript" %} +{% elsif page.publishingplatform == "aspnet-mvc" %} {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/textarea/methods-cs2/index.js %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/methods-cs2/razor %} {% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/textarea/methods-cs2/index.html %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/methods-cs2/methods2.cs %} {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/textarea/methods-cs2" %} {% endif %} @@ -83,26 +78,27 @@ This method is beneficial for scenarios where user need to programmatically remo The [getPersistData](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Inputs.TextArea.html#Syncfusion_EJ2_Inputs_TextArea_getPersistData) method in the TextArea control retrieves the properties that need to be maintained in the persisted state. This method returns an object containing the properties to be persisted, which can include various configuration options and state information of the TextArea control. -{% if page.publishingplatform == "typescript" %} + +{% if page.publishingplatform == "aspnet-core" %} {% tabs %} -{% highlight ts tabtitle="index.ts" %} -{% include code-snippet/textarea/methods-cs3/index.ts %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/textarea/methods-cs3/tagHelper %} {% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/textarea/methods-cs3/index.html %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/methods-cs3/methods3.cs %} {% endhighlight %} {% endtabs %} -{% elsif page.publishingplatform == "javascript" %} +{% elsif page.publishingplatform == "aspnet-mvc" %} {% tabs %} -{% highlight js tabtitle="index.js" %} -{% include code-snippet/textarea/methods-cs3/index.js %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/textarea/methods-cs3/razor %} {% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/textarea/methods-cs3/index.html %} +{% highlight c# tabtitle="Clear.cs" %} +{% include code-snippet/textarea/methods-cs3/methods3.cs %} {% endhighlight %} {% endtabs %} - +{% previewsample "page.domainurl/code-snippet/textarea/methods-cs3" %} {% endif %} From 3e3beaded405e4eec24c3e31836fbef69d5efda0 Mon Sep 17 00:00:00 2001 From: lokesharjunan <61532454+lokesharjunan@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:15:01 +0530 Subject: [PATCH 057/134] Update razor --- .../code-snippet/gantt/undo-redo/clear/razor | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/clear/razor b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/clear/razor index f3bc263e74..df688d0bf7 100644 --- a/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/clear/razor +++ b/ej2-asp-core-mvc/code-snippet/gantt/undo-redo/clear/razor @@ -3,13 +3,16 @@ @Html.EJS().Button("ClearRedoCollection").Content("Clear Redo Collection").CssClass("e-primary").Render() - @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource).Height("450px"). - Toolbar(new List(){ "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit", - "Indent","Outdent","PrevTimeSpan", "NextTimeSpan","Undo","Redo"}).EnableUndoRedo(true). - UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", "Edit", + @Html.EJS().Gantt("Gantt").DataSource((IEnumerable)ViewBag.DataSource). + Height("450px"). + Toolbar(new List(){ "Add", "Edit", "Update", "Delete", "Search", "ZoomIn", "ZoomOut", "ZoomToFit", + "Indent","Outdent","PrevTimeSpan", "NextTimeSpan","Undo","Redo"}). + EnableUndoRedo(true). + UndoRedoActions(new List() { "Sorting", "Add", "ColumnReorder", "ColumnResize", "ColumnState", "Delete", "Edit", "Filtering", "Indent", "Outdent", "NextTimeSpan", "PreviousTimeSpan", "RowDragAndDrop", "Search", "ZoomIn", "ZoomOut", "ZoomToFit" }). - TaskFields(ts =>ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks") - ).EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true).ShowColumnMenu(true)).Render() + TaskFields(ts =>ts.Id("TaskId").Name("TaskName").StartDate("StartDate").EndDate("EndDate").Duration("Duration").Progress("Progress").Child("SubTasks")). + EditSettings(es=>es.AllowEditing(true).AllowAdding(true).AllowDeleting(true). + ShowColumnMenu(true)).Render() -``` \ No newline at end of file +``` + +[View sample in GitHub](https://github.com/SyncfusionExamples/mvc-pdf-viewer-examples/tree/master/How%20to/Custom%20Context%20Menu/PDFViewerSample) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md index e6548cf066..66076524b8 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/open-bookmark.md @@ -86,4 +86,6 @@ Similarly, to close the Bookmark pane programmatically, employ the following cod {% endhighlight %} -{% endtabs %} \ No newline at end of file +{% endtabs %} + +[View sample in GitHub](https://github.com/SyncfusionExamples/mvc-pdf-viewer-examples/tree/master/How%20to/Open%20and%20Close%20bookmark%20pane/PDFViewerSample/PDFViewerSample) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/organize-pdf.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/organize-pdf.md index d7f955acc4..6e7ccd0c7e 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/organize-pdf.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/organize-pdf.md @@ -49,3 +49,5 @@ To access the Organize Pages feature, simply open the PDF document in the JS2 PD #### Conclusion With the Organize Pages feature in JS2 PDF Viewer, managing your PDF documents has never been easier. Whether you're adding new content, adjusting page orientation, or removing unnecessary pages, this feature provides the tools you need to streamline your document management workflow. Explore these capabilities today and take control of your PDF documents with ease! + +[View sample in GitHub](https://github.com/SyncfusionExamples/mvc-pdf-viewer-examples/tree/master/How%20to/Organize%20pdf/PDFViewerSample) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md index ea7180e9ff..a340d571ba 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/how-to/pagerenderstarted-pagerendercompleted.md @@ -73,4 +73,6 @@ function pageRenderComplete(args) { {% endhighlight %} {% endtabs %} -The provided code demonstrates how to subscribe to the `pageRenderInitiate` and `pageRenderComplete` events in the Syncfusion PDF Viewer component. \ No newline at end of file +The provided code demonstrates how to subscribe to the `pageRenderInitiate` and `pageRenderComplete` events in the Syncfusion PDF Viewer component. + +[View sample in GitHub](https://github.com/SyncfusionExamples/mvc-pdf-viewer-examples/tree/master/How%20to/PageRenderStarted%20and%20PageRenderCompleted%20event/PDFViewerSample) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md index 15edf4327c..8b85d16d98 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/custom-context-menu.md @@ -370,4 +370,6 @@ The following is the output of custom context menu with customization. -``` \ No newline at end of file +``` + +[View sample in GitHub](https://github.com/SyncfusionExamples/asp-core-pdf-viewer-examples/tree/master/How%20to/Custom%20Context%20Menu/PDFViewerSample) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/open-bookmark.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/open-bookmark.md index 58dddc2192..77e1a6cf03 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/open-bookmark.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/open-bookmark.md @@ -102,4 +102,6 @@ Similarly, to close the Bookmark pane programmatically, employ the following cod {% endhighlight %} -{% endtabs %} \ No newline at end of file +{% endtabs %} + +[View sample in GitHub](https://github.com/SyncfusionExamples/asp-core-pdf-viewer-examples/tree/master/How%20to/Open%20and%20Close%20bookmark%20pane/PDFViewerSample) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/organize-pdf.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/organize-pdf.md index 97199b4ea9..657de3272f 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/organize-pdf.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/how-to/organize-pdf.md @@ -48,4 +48,7 @@ To access the Organize Pages feature, simply open the PDF document in the JS2 PD #### Conclusion -With the Organize Pages feature in JS2 PDF Viewer, managing your PDF documents has never been easier. Whether you're adding new content, adjusting page orientation, or removing unnecessary pages, this feature provides the tools you need to streamline your document management workflow. Explore these capabilities today and take control of your PDF documents with ease! \ No newline at end of file +With the Organize Pages feature in JS2 PDF Viewer, managing your PDF documents has never been easier. Whether you're adding new content, adjusting page orientation, or removing unnecessary pages, this feature provides the tools you need to streamline your document management workflow. Explore these capabilities today and take control of your PDF documents with ease! + + +[View sample in GitHub](https://github.com/SyncfusionExamples/asp-core-pdf-viewer-examples/tree/master/How%20to/Organize%20pdf) \ No newline at end of file From 0c43af4d9fa6687d92869c4a8caab23b1225c5ce Mon Sep 17 00:00:00 2001 From: Deepak Raj Sundar Date: Mon, 1 Apr 2024 23:24:25 +0530 Subject: [PATCH 080/134] IN-181833 Added the release notes MD file for 25.1.38 and corresponding node entry in the TOC.html file --- ej2-asp-core-mvc/Release-notes/25.1.38.md | 17 +++++++++++++++++ ej2-asp-core-toc.html | 2 +- ej2-asp-mvc-toc.html | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 ej2-asp-core-mvc/Release-notes/25.1.38.md diff --git a/ej2-asp-core-mvc/Release-notes/25.1.38.md b/ej2-asp-core-mvc/Release-notes/25.1.38.md new file mode 100644 index 0000000000..421f581a2e --- /dev/null +++ b/ej2-asp-core-mvc/Release-notes/25.1.38.md @@ -0,0 +1,17 @@ +--- +title: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +description: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +platform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Essential Studio for ##Platform_Name## Release Notes + +{% include release-info.html date="April 02, 2024" version="v25.1.38" %} + +{% directory path: _includes/release-notes/v25.1.38 %} + +{% include {{file.url}} %} + +{% enddirectory %} \ No newline at end of file diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 0c030c5cbd..47137f78a7 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2965,7 +2965,7 @@
  • Release Notes -
    • 2024 Volume 1 - 25.*
    • 2023 Volume 4 - 24.*
    • 2023 Volume 3 - 23.*
    • 2023 Volume 2 - 22.*
    • 2023 Volume 1 - 21.*
    • +
      • 2024 Volume 1 - 25.*
      • 2023 Volume 4 - 24.*
      • 2023 Volume 3 - 23.*
      • 2023 Volume 2 - 22.*
      • 2023 Volume 1 - 21.*
      • 2022 Volume 4 - 20.4.*
      • 2022 Volume 3 - 20.3.*
      • 2022 volume 2 - 20.2.*
      • Release Notes -
        • 2024 Volume 1 - 25.*
        • 2023 Volume 4 - 24.*
        • 2023 Volume 3 - 23.*
        • 2023 Volume 2 - 22.*
        • 2023 Volume 1 - 21.*
        • +
          • 2024 Volume 1 - 25.*
          • 2023 Volume 4 - 24.*
          • 2023 Volume 3 - 23.*
          • 2023 Volume 2 - 22.*
          • 2023 Volume 1 - 21.*
          • 2022 Volume 4 - 20.4.*
          • 2022 Volume 3 - 20.3.*
          • 2022 volume 2 - 20.2.*
            • Weekly Nuget Release
            • From 61d226c8195d029e71455e45322f1725741c26e2 Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Thu, 4 Apr 2024 12:07:47 +0530 Subject: [PATCH 081/134] 880490: TOC update commit --- ej2-asp-core-toc.html | 4 ++-- ej2-asp-mvc-toc.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 47137f78a7..2967dbb116 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -1824,8 +1824,8 @@
            • Interaction Mode
            • Form Designer
            • Print
            • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index c623a9c8db..5baa85b5fd 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -1780,8 +1780,8 @@
            • Interaction Mode
            • Form Designer
            • Print
            • From 47f4b27e148b64e4057e2e4f2af46e97102eaf43 Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Thu, 4 Apr 2024 12:38:18 +0530 Subject: [PATCH 082/134] 880490: commit --- .../EJ2_ASP.MVC/getting-started-with-server-backed.md | 9 ++++++++- .../getting-started-with-server-backed.md | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/getting-started-with-server-backed.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/getting-started-with-server-backed.md index 7320774584..b07a04d17d 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/getting-started-with-server-backed.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/getting-started-with-server-backed.md @@ -414,4 +414,11 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Get N> You can refer to our [ASP.NET MVC PDF Viewer](https://www.syncfusion.com/aspnet-mvc-ui-controls/pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [ASP.NET MVC PDF Viewer example](https://ej2.syncfusion.com/aspnetmvc/PdfViewer/Default#/material) to understand the core features of PDF Viewer. -N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context. \ No newline at end of file +N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context. + +N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.6). Additionally, for AWS environments, utilize the following packages: + +| **Amazon Web Services (AWS)** |**NuGet package name** | +| --- | --- | +| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.6)| +| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v2.88.6](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/2.88.6)| \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md index a24cb8ccc4..f8a79cb45a 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md @@ -423,6 +423,13 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Ge N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context. +N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.6). Additionally, for AWS environments, utilize the following packages: + +| **Amazon Web Services (AWS)** |**NuGet package name** | +| --- | --- | +| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.6)| +| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v2.88.6](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/2.88.6)| + ## See also * [Getting Started with Syncfusion ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages/) From 8617ddd101c7f124c8e537cac304e276938589a2 Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Thu, 4 Apr 2024 12:40:09 +0530 Subject: [PATCH 083/134] 880490: revert commit --- .../EJ2_ASP.MVC/getting-started-with-server-backed.md | 9 +-------- .../getting-started-with-server-backed.md | 7 ------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/getting-started-with-server-backed.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/getting-started-with-server-backed.md index b07a04d17d..7320774584 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/getting-started-with-server-backed.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/getting-started-with-server-backed.md @@ -414,11 +414,4 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-MVC-Get N> You can refer to our [ASP.NET MVC PDF Viewer](https://www.syncfusion.com/aspnet-mvc-ui-controls/pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [ASP.NET MVC PDF Viewer example](https://ej2.syncfusion.com/aspnetmvc/PdfViewer/Default#/material) to understand the core features of PDF Viewer. -N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context. - -N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.6). Additionally, for AWS environments, utilize the following packages: - -| **Amazon Web Services (AWS)** |**NuGet package name** | -| --- | --- | -| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.6)| -| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v2.88.6](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/2.88.6)| \ No newline at end of file +N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context. \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md index f8a79cb45a..a24cb8ccc4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md @@ -423,13 +423,6 @@ N> [View Sample in GitHub](https://github.com/SyncfusionExamples/ASP-NET-Core-Ge N> When configuring the server-backed PDF viewer, it's essential to understand that there is no need to include the pdfium.js and pdfium.wasm files. Unlike the standalone PDF viewer, which relies on these files for local rendering, the server-backed PDF viewer fetches and renders PDFs directly from the server. Consequently, you can exclude the copy command for deployment process, as they are not required to load and display PDFs in this context. -N> For hosting the web service on the Linux platform, ensure to include the [SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.6). Additionally, for AWS environments, utilize the following packages: - -| **Amazon Web Services (AWS)** |**NuGet package name** | -| --- | --- | -| AWS Lambda|[SkiaSharp.NativeAssets.Linux](https://nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.6)| -| AWS Elastic Beanstalk |[SkiaSharp.NativeAssets.Linux.NoDependencies v2.88.6](https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux.NoDependencies/2.88.6)| - ## See also * [Getting Started with Syncfusion ASP.NET Core using Razor Pages](https://ej2.syncfusion.com/aspnetcore/documentation/getting-started/razor-pages/) From 82e53beddefc65c3f25a9099cd55c17fdf5477a2 Mon Sep 17 00:00:00 2001 From: suba-1997 Date: Thu, 4 Apr 2024 13:36:04 +0530 Subject: [PATCH 084/134] 57534: Add ASP.NET Core Scheduler Header Row template video in UG. --- ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md index d3817bb0ac..49432c0c39 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md @@ -143,6 +143,11 @@ It is possible to display a complete year in a timeline view by setting `interva You can customize the text of the header rows and display any images or formatted text on each individual header rows using the built-in `template` option available within the `headerRows` property. +To get start quickly about header row template option available in our Scheduler, you can check on this video: + +{% youtube +"youtube:https://www.youtube.com/watch?v=oX2cPQGyIkk"%} + {% if page.publishingplatform == "aspnet-core" %} {% tabs %} From a77d4bbab6c92cbc6e05fd3cf62dea669bee085e Mon Sep 17 00:00:00 2001 From: Edithabich Date: Thu, 4 Apr 2024 12:10:14 +0300 Subject: [PATCH 085/134] SEO-181942-UG-Duplicate-title --- .../pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md index 2d2d3c952d..362663abbf 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md @@ -1,6 +1,6 @@ --- layout: post -title: Text Markup Annotation in ##Platform_Name## Pdfviewer Component +title: Text Markup Annotation in ##Platform_Name## Pdfviewer Component | Syncfusion description: Learn here all about Text Markup Annotation in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Text Markup Annotation From 556b2b25c2ea462883d5f3bfce2a92bcd9292d38 Mon Sep 17 00:00:00 2001 From: Edithabich Date: Thu, 4 Apr 2024 12:22:01 +0300 Subject: [PATCH 086/134] updated --- .../pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md index 362663abbf..cac4f50a58 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md @@ -1,6 +1,6 @@ --- layout: post -title: Text Markup Annotation in ##Platform_Name## Pdfviewer Component | Syncfusion +title: Text Markup Annotation Guide in ##Platform_Name## Pdfviewer Component | Syncfusion description: Learn here all about Text Markup Annotation in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Text Markup Annotation From e63e56a9828b803fc1c57f8b7187976e612128e1 Mon Sep 17 00:00:00 2001 From: suba-1997 <101635340+suba-1997@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:14:47 +0530 Subject: [PATCH 087/134] 57534: Add ASP.NET Core Scheduler Header Row template video in UG. --- ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md index 49432c0c39..041df2c7b1 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md @@ -1,6 +1,6 @@ --- layout: post -title: Header Rows in ##Platform_Name## Schedule Component +title: Header Rows in ##Platform_Name## Schedule Component | Syncfusion description: Learn here all about Header Rows in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Header Rows From 992df851175b59a0e3724699c7a38e7a8a318068 Mon Sep 17 00:00:00 2001 From: Edithabich Date: Thu, 4 Apr 2024 15:25:09 +0300 Subject: [PATCH 088/134] resolved comments --- .../pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md index cac4f50a58..4f7f2010d7 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md @@ -1,7 +1,7 @@ --- layout: post title: Text Markup Annotation Guide in ##Platform_Name## Pdfviewer Component | Syncfusion -description: Learn here all about Text Markup Annotation in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. +description: Learn here all about Text Markup Annotation in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Text Markup Annotation publishingplatform: ##Platform_Name## From d55bd1e9a157e5fc91aef576241ca23ea042fbeb Mon Sep 17 00:00:00 2001 From: gopi-jp <125449519+gopi-jp@users.noreply.github.com> Date: Sun, 7 Apr 2024 19:13:30 +0530 Subject: [PATCH 089/134] 880554: Image editor freehand colour change was not working in all EJ2 platforms --- .../image-editor/annotation/adjust-stroke-color/razor | 1 + .../image-editor/annotation/adjust-stroke-color/tagHelper | 1 + 2 files changed, 2 insertions(+) diff --git a/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/razor b/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/razor index fc0fa31dc2..fed5490709 100644 --- a/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/razor +++ b/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/razor @@ -15,6 +15,7 @@ function ShapeChanging(args) { if (args.currentShapeSettings.type === 'FreehandDraw') { args.currentShapeSettings.strokeColor = 'red'; + args.currentShapeSettings.strokeWidth = 10 } } diff --git a/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/tagHelper b/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/tagHelper index 86eb719c4e..54a74d167a 100644 --- a/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/tagHelper @@ -15,6 +15,7 @@ function shapeChanging(args) { if (args.currentShapeSettings.type === 'FreehandDraw') { args.currentShapeSettings.strokeColor = 'red'; + args.currentShapeSettings.strokeWidth = 10 } } From 01f9c4cedc7ed3d94af1d6858e1acf5ea00e6bc9 Mon Sep 17 00:00:00 2001 From: gopi-jp <125449519+gopi-jp@users.noreply.github.com> Date: Sun, 7 Apr 2024 19:28:24 +0530 Subject: [PATCH 090/134] 880554: Image editor freehand colour change was not working in all EJ2 platforms --- .../image-editor/annotation/adjust-stroke-color/razor | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/razor b/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/razor index fed5490709..bf558fbfd8 100644 --- a/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/razor +++ b/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/razor @@ -15,7 +15,7 @@ function ShapeChanging(args) { if (args.currentShapeSettings.type === 'FreehandDraw') { args.currentShapeSettings.strokeColor = 'red'; - args.currentShapeSettings.strokeWidth = 10 + args.currentShapeSettings.strokeWidth = 10; } } @@ -41,4 +41,4 @@ .control-wrapper { height: 100%; } - \ No newline at end of file + From 0d5f882dff4031308baa15e5257a0e9eb70b626f Mon Sep 17 00:00:00 2001 From: gopi-jp <125449519+gopi-jp@users.noreply.github.com> Date: Sun, 7 Apr 2024 19:29:55 +0530 Subject: [PATCH 091/134] 880554: Image editor freehand colour change was not working in all EJ2 platforms From 1ce37bb56a8f2d5bc692364c93c692d2e0dbbe01 Mon Sep 17 00:00:00 2001 From: gopi-jp <125449519+gopi-jp@users.noreply.github.com> Date: Sun, 7 Apr 2024 19:30:32 +0530 Subject: [PATCH 092/134] 880554: Image editor freehand colour change was not working in all EJ2 platforms --- .../image-editor/annotation/adjust-stroke-color/tagHelper | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/tagHelper b/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/tagHelper index 54a74d167a..5323c4cd38 100644 --- a/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/image-editor/annotation/adjust-stroke-color/tagHelper @@ -15,7 +15,7 @@ function shapeChanging(args) { if (args.currentShapeSettings.type === 'FreehandDraw') { args.currentShapeSettings.strokeColor = 'red'; - args.currentShapeSettings.strokeWidth = 10 + args.currentShapeSettings.strokeWidth = 10; } } @@ -40,4 +40,4 @@ .control-wrapper { height: 100%; } - \ No newline at end of file + From 8c6863f23290460b2caaa0a9a37a854e2b8a3ec9 Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Mon, 8 Apr 2024 09:37:21 +0530 Subject: [PATCH 093/134] 835457: files commit --- .../{create-fillable-PDF-forms => }/create-programmatically.md | 0 .../create-with-user-interface-interaction.md | 0 .../{create-fillable-PDF-forms => }/create-programmatically.md | 0 .../create-with-user-interface-interaction.md | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/{create-fillable-PDF-forms => }/create-programmatically.md (100%) rename ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/{create-fillable-PDF-forms => }/create-with-user-interface-interaction.md (100%) rename ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/{create-fillable-PDF-forms => }/create-programmatically.md (100%) rename ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/{create-fillable-PDF-forms => }/create-with-user-interface-interaction.md (100%) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-fillable-PDF-forms/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md similarity index 100% rename from ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-fillable-PDF-forms/create-programmatically.md rename to ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-fillable-PDF-forms/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md similarity index 100% rename from ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-fillable-PDF-forms/create-with-user-interface-interaction.md rename to ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-fillable-PDF-forms/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md similarity index 100% rename from ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-fillable-PDF-forms/create-programmatically.md rename to ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-fillable-PDF-forms/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md similarity index 100% rename from ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-fillable-PDF-forms/create-with-user-interface-interaction.md rename to ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md From f86c5f6afe759682a1f0606013dffe7d776c3fba Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Mon, 8 Apr 2024 10:43:29 +0530 Subject: [PATCH 094/134] 835457: commit --- .../form-designer/create-programmatically.md | 18 +++++++++--------- .../create-with-user-interface-interaction.md | 2 +- .../form-designer/create-programmatically.md | 2 +- .../create-with-user-interface-interaction.md | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index 262d44065b..bf5fafc019 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -4,7 +4,7 @@ title: Create Programmatically in EJ2 ASP.NET MVC PDF Viewer | Syncfusion description: Learn here all about Create Programmatically in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Create Programmatically -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- @@ -69,7 +69,7 @@ Using updateFormField method, Form Field can be updated programmatically. We sho function documentLoad() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; viewer.formDesignerModule.addFormField("Textbox", { name: "Textbox", bounds: { X: 146, Y: 229, Width: 150, Height: 24 } }); - viewer.formDesignerModule.addFormField("Textbox", { name: "Textfield", bounds: { X: 300, Y: 229, Width: 150, Height: 24 } }); + viewer.formDesignerModule.addFormField("Textbox", { name: "Textbox", bounds: { X: 300, Y: 229, Width: 150, Height: 24 } }); viewer.formDesignerModule.updateFormField(pdfviewer.formFieldCollections[0], { backgroundColor: 'red' }); } @@ -85,7 +85,7 @@ Using updateFormField method, Form Field can be updated programmatically. We sho function documentLoad() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; viewer.formDesignerModule.addFormField("Textbox", { name: "Textbox", bounds: { X: 146, Y: 229, Width: 150, Height: 24 } }); - viewer.formDesignerModule.addFormField("Textbox", { name: "Textfield", bounds: { X: 300, Y: 229, Width: 150, Height: 24 } }); + viewer.formDesignerModule.addFormField("Textbox", { name: "Textbox", bounds: { X: 300, Y: 229, Width: 150, Height: 24 } }); viewer.formDesignerModule.updateFormField(pdfviewer.formFieldCollections[0], { backgroundColor: 'red' }); } @@ -107,7 +107,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We function documentLoad() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; viewer.formDesignerModule.addFormField("Textbox", { name: "Textbox", bounds: { X: 146, Y: 229, Width: 150, Height: 24 } }); - viewer.formDesignerModule.addFormField("Textbox", { name: "Textfield", bounds: { X: 300, Y: 229, Width: 150,Height: 24 } }); + viewer.formDesignerModule.addFormField("Textbox", { name: "Textbox", bounds: { X: 300, Y: 229, Width: 150,Height: 24 } }); viewer.formDesignerModule.deleteFormField(pdfviewer.formFieldCollections[0]); } @@ -123,7 +123,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We function documentLoad() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; viewer.formDesignerModule.addFormField("Textbox", { name: "Textbox", bounds: { X: 146, Y: 229, Width: 150, Height: 24 } }); - viewer.formDesignerModule.addFormField("Textbox", { name: "Textfield", bounds: { X: 300, Y: 229, Width: 150,Height: 24 } }); + viewer.formDesignerModule.addFormField("Textbox", { name: "Textbox", bounds: { X: 300, Y: 229, Width: 150,Height: 24 } }); viewer.formDesignerModule.deleteFormField(pdfviewer.formFieldCollections[0]); } @@ -234,7 +234,7 @@ Add the following code snippet to validate the form fields, @@ -247,7 +247,7 @@ Add the following code snippet to validate the form fields, @@ -1292,7 +1292,7 @@ The following code example explains how to update the properties of the listbox window.onload = function () { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; - const customOptions = [ + var customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } @@ -1358,7 +1358,7 @@ The following code example explains how to update the DropDown field properties function updateProperties() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; var formField = viewer.retrieveFormFields(); - const customOptions = [ + var customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md index 967c8e0123..63ef5463ca 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md @@ -4,7 +4,7 @@ title: User Interface Interaction in EJ2 ASP.NET MVC PDF Viewer | Syncfusion description: Learn how User Interface Interaction in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Create With User Interface Interaction -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index b32c7d672c..7a929e7e39 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -4,7 +4,7 @@ title: Create Programmatically in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about Create Programmatically in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Create Programmatically -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md index 6818ad6ce0..066aa75d00 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md @@ -4,7 +4,7 @@ title: User Interface Interaction in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about User Interface Interaction in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Create With User Interface Interaction -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- From 2a68bd62a4ec28124fa9c81be04410226f35701d Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Mon, 8 Apr 2024 10:57:20 +0530 Subject: [PATCH 095/134] 835457: commit --- .../EJ2_ASP.NETCORE/form-designer/create-programmatically.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index 7a929e7e39..b8b74825d4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -1496,7 +1496,7 @@ The following code example explains how to update the ListBox field properties o function updateProperties() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; var formField = viewer.retrieveFormFields(); - const customOptions = [ + var customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } From e86795a95d1d6e9cd3439febf556843eb522649a Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Mon, 8 Apr 2024 11:35:09 +0530 Subject: [PATCH 096/134] 835457: commit --- .../EJ2_ASP.MVC/form-designer/create-programmatically.md | 8 ++++---- .../form-designer/create-programmatically.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index bf5fafc019..e51a798c8e 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -1213,7 +1213,7 @@ The following code example explains how to update the ListBox field properties o function updateProperties() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; var formField = viewer.retrieveFormFields(); - const customOptions = [ + var customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } @@ -1255,7 +1255,7 @@ The following code example explains how to update the ListBox field properties o function updateProperties() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; var formField = viewer.retrieveFormFields(); - const customOptions = [ + var customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } @@ -1400,7 +1400,7 @@ The following code example explains how to update the DropDown field properties function updateProperties() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; var formField = viewer.retrieveFormFields(); - const customOptions = [ + var customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } @@ -1437,7 +1437,7 @@ The following code example explains how to update the properties of the dropdown window.onload = function () { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; - const customOptions = [ + var customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index b8b74825d4..f55822e694 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -1540,7 +1540,7 @@ The following code example explains how to update the ListBox field properties o function updateProperties() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; var formField = viewer.retrieveFormFields(); - const customOptions = [ + customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } From b4d40e35f7d5e2abe47c692f442b0bcb039e71c8 Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Mon, 8 Apr 2024 11:41:32 +0530 Subject: [PATCH 097/134] 835457: commit --- .../EJ2_ASP.NETCORE/form-designer/create-programmatically.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index f55822e694..b8b74825d4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -1540,7 +1540,7 @@ The following code example explains how to update the ListBox field properties o function updateProperties() { var viewer = document.getElementById('pdfviewer').ej2_instances[0]; var formField = viewer.retrieveFormFields(); - customOptions = [ + const customOptions = [ { itemName: 'item1', itemValue: 'item1' }, { itemName: 'item2', itemValue: 'item2' }, { itemName: 'item3', itemValue: 'item3' } From 8f69d4560db12a1385c1ec453f7e9ca45caba6f9 Mon Sep 17 00:00:00 2001 From: Deepak Raj Sundar Date: Mon, 8 Apr 2024 23:59:52 +0530 Subject: [PATCH 098/134] IN-181833 Added the release notes MD file for 25.1.39 and corresponding node entry in the TOC.html file --- ej2-asp-core-mvc/Release-notes/25.1.39.md | 17 +++++++++++++++++ ej2-asp-core-toc.html | 2 +- ej2-asp-mvc-toc.html | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 ej2-asp-core-mvc/Release-notes/25.1.39.md diff --git a/ej2-asp-core-mvc/Release-notes/25.1.39.md b/ej2-asp-core-mvc/Release-notes/25.1.39.md new file mode 100644 index 0000000000..88a077c8c3 --- /dev/null +++ b/ej2-asp-core-mvc/Release-notes/25.1.39.md @@ -0,0 +1,17 @@ +--- +title: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +description: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +platform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Essential Studio for ##Platform_Name## Release Notes + +{% include release-info.html date="April 09, 2024" version="v25.1.39" %} + +{% directory path: _includes/release-notes/v25.1.39 %} + +{% include {{file.url}} %} + +{% enddirectory %} diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 2967dbb116..f56b6bef97 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2965,7 +2965,7 @@
          • Release Notes -
            • 2024 Volume 1 - 25.*
            • 2023 Volume 4 - 24.*
            • 2023 Volume 3 - 23.*
            • 2023 Volume 2 - 22.*
            • 2023 Volume 1 - 21.*
            • +
              • 2024 Volume 1 - 25.*
              • 2023 Volume 4 - 24.*
              • 2023 Volume 3 - 23.*
              • 2023 Volume 2 - 22.*
              • 2023 Volume 1 - 21.*
              • 2022 Volume 4 - 20.4.*
              • 2022 Volume 3 - 20.3.*
              • 2022 volume 2 - 20.2.*
              • Release Notes -
                • 2024 Volume 1 - 25.*
                • 2023 Volume 4 - 24.*
                • 2023 Volume 3 - 23.*
                • 2023 Volume 2 - 22.*
                • 2023 Volume 1 - 21.*
                • +
                  • 2024 Volume 1 - 25.*
                  • 2023 Volume 4 - 24.*
                  • 2023 Volume 3 - 23.*
                  • 2023 Volume 2 - 22.*
                  • 2023 Volume 1 - 21.*
                  • 2022 Volume 4 - 20.4.*
                  • 2022 Volume 3 - 20.3.*
                  • 2022 volume 2 - 20.2.*
                    • Weekly Nuget Release
                    • From 54a923c7f6de38e0ce92b3c366c5a6be940d5cb7 Mon Sep 17 00:00:00 2001 From: Uma-SF4267 Date: Tue, 9 Apr 2024 14:17:56 +0530 Subject: [PATCH 099/134] 835457: formfield files commited properly as other md files --- .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ .../form-designer/create-programmatically.md | 20 ++++++++--------- .../create-with-user-interface-interaction.md | 14 ++++++------ 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index e51a798c8e..7c324452ac 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -135,7 +135,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/saveformfield.gif) +![Alt text](../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -175,7 +175,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/printformfield.gif) +![Alt text](../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -218,7 +218,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -667,7 +667,7 @@ The following code example explains how to update the properties of the signatur -![Signature Field Settings](../../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -704,7 +704,7 @@ window.onload = function () { -![Initial Field Settings](../../../pdfviewer/images/InitialField.png) +![Initial Field Settings](../../pdfviewer/images/InitialField.png) ### Textbox field settings @@ -840,7 +840,7 @@ window.onload = function () { -![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../pdfviewer/images/Textbox.png) ### Password field settings @@ -972,7 +972,7 @@ window.onload = function () { -![Password Field Settings](../../../pdfviewer/images/Password.png) +![Password Field Settings](../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1080,7 +1080,7 @@ window.onload = function () { -![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1190,7 +1190,7 @@ window.onload = function () { -![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1335,7 +1335,7 @@ window.onload = function () { -![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1480,4 +1480,4 @@ window.onload = function () { -![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md index 63ef5463ca..4e37116814 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md @@ -49,35 +49,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/addformfield.gif) +![Alt text](../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/dragformfield.gif) +![Alt text](../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../../pdfviewer/images/generalproperties.png) +![Alt text](../../pdfviewer/images/generalproperties.png) -![Alt text](../../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index b8b74825d4..f46913332f 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -223,7 +223,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/printformfield.gif) +![Alt text](../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -272,7 +272,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -677,7 +677,7 @@ The following code example explains how to update the properties of the signatur {% endtabs %} -![Signature Field Settings](../../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -714,7 +714,7 @@ window.onload = function () { -![Initial Field Settings](../../../pdfviewer/images/initialfield.png) +![Initial Field Settings](../../pdfviewer/images/initialfield.png) ### Textbox field settings @@ -923,7 +923,7 @@ The following code example explains how to update the properties of the textbox {% endhighlight %} {% endtabs %} -![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../pdfviewer/images/Textbox.png) ### Password field settings @@ -1129,7 +1129,7 @@ The following code example explains how to update the properties of the password {% endtabs %} -![Password Field Settings](../../../pdfviewer/images/Password.png) +![Password Field Settings](../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1299,7 +1299,7 @@ The following code example explains how to update the properties of the CheckBox {% endhighlight %} {% endtabs %} -![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1471,7 +1471,7 @@ The following code example explains how to update the properties of the RadioBut {% endtabs %} -![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1693,7 +1693,7 @@ The following code example explains how to update the properties of the ListBox {% endtabs %} -![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1913,4 +1913,4 @@ The following code example explains how to update the properties of the dropdown {% endhighlight %} {% endtabs %} -![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md index 066aa75d00..55fe727fb4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md @@ -56,35 +56,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/addformfield.gif) +![Alt text](../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/dragformfield.gif) +![Alt text](../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../../pdfviewer/images/generalproperties.png) +![Alt text](../../pdfviewer/images/generalproperties.png) -![Alt text](../../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo From bd5743bb8a6ffc081d909ae4d05186ec89730f3e Mon Sep 17 00:00:00 2001 From: Uma-SF4267 Date: Tue, 9 Apr 2024 14:20:16 +0530 Subject: [PATCH 100/134] 835457: formfield files commited properly as other md files --- .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ .../form-designer/create-programmatically.md | 20 ++++++++--------- .../create-with-user-interface-interaction.md | 14 ++++++------ 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index 7c324452ac..e51a798c8e 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -135,7 +135,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/saveformfield.gif) +![Alt text](../../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -175,7 +175,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/printformfield.gif) +![Alt text](../../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -218,7 +218,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -667,7 +667,7 @@ The following code example explains how to update the properties of the signatur -![Signature Field Settings](../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -704,7 +704,7 @@ window.onload = function () { -![Initial Field Settings](../../pdfviewer/images/InitialField.png) +![Initial Field Settings](../../../pdfviewer/images/InitialField.png) ### Textbox field settings @@ -840,7 +840,7 @@ window.onload = function () { -![Textbox Field Settings](../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) ### Password field settings @@ -972,7 +972,7 @@ window.onload = function () { -![Password Field Settings](../../pdfviewer/images/Password.png) +![Password Field Settings](../../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1080,7 +1080,7 @@ window.onload = function () { -![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1190,7 +1190,7 @@ window.onload = function () { -![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1335,7 +1335,7 @@ window.onload = function () { -![ListBox Field Settings](../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1480,4 +1480,4 @@ window.onload = function () { -![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md index 4e37116814..63ef5463ca 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md @@ -49,35 +49,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/addformfield.gif) +![Alt text](../../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/dragformfield.gif) +![Alt text](../../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../pdfviewer/images/generalproperties.png) +![Alt text](../../../pdfviewer/images/generalproperties.png) -![Alt text](../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index f46913332f..b8b74825d4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -223,7 +223,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/printformfield.gif) +![Alt text](../../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -272,7 +272,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -677,7 +677,7 @@ The following code example explains how to update the properties of the signatur {% endtabs %} -![Signature Field Settings](../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -714,7 +714,7 @@ window.onload = function () { -![Initial Field Settings](../../pdfviewer/images/initialfield.png) +![Initial Field Settings](../../../pdfviewer/images/initialfield.png) ### Textbox field settings @@ -923,7 +923,7 @@ The following code example explains how to update the properties of the textbox {% endhighlight %} {% endtabs %} -![Textbox Field Settings](../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) ### Password field settings @@ -1129,7 +1129,7 @@ The following code example explains how to update the properties of the password {% endtabs %} -![Password Field Settings](../../pdfviewer/images/Password.png) +![Password Field Settings](../../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1299,7 +1299,7 @@ The following code example explains how to update the properties of the CheckBox {% endhighlight %} {% endtabs %} -![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1471,7 +1471,7 @@ The following code example explains how to update the properties of the RadioBut {% endtabs %} -![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1693,7 +1693,7 @@ The following code example explains how to update the properties of the ListBox {% endtabs %} -![ListBox Field Settings](../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1913,4 +1913,4 @@ The following code example explains how to update the properties of the dropdown {% endhighlight %} {% endtabs %} -![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md index 55fe727fb4..066aa75d00 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md @@ -56,35 +56,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/addformfield.gif) +![Alt text](../../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/dragformfield.gif) +![Alt text](../../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../pdfviewer/images/generalproperties.png) +![Alt text](../../../pdfviewer/images/generalproperties.png) -![Alt text](../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo From 2b87789bf1b2e472c98540ce1f0730f19c80585b Mon Sep 17 00:00:00 2001 From: Uma-SF4267 Date: Tue, 9 Apr 2024 14:23:51 +0530 Subject: [PATCH 101/134] 835457: formfield files commited properly as other md files --- .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ .../form-designer/create-programmatically.md | 20 ++++++++--------- .../create-with-user-interface-interaction.md | 14 ++++++------ 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index e51a798c8e..7c324452ac 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -135,7 +135,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/saveformfield.gif) +![Alt text](../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -175,7 +175,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/printformfield.gif) +![Alt text](../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -218,7 +218,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -667,7 +667,7 @@ The following code example explains how to update the properties of the signatur -![Signature Field Settings](../../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -704,7 +704,7 @@ window.onload = function () { -![Initial Field Settings](../../../pdfviewer/images/InitialField.png) +![Initial Field Settings](../../pdfviewer/images/InitialField.png) ### Textbox field settings @@ -840,7 +840,7 @@ window.onload = function () { -![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../pdfviewer/images/Textbox.png) ### Password field settings @@ -972,7 +972,7 @@ window.onload = function () { -![Password Field Settings](../../../pdfviewer/images/Password.png) +![Password Field Settings](../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1080,7 +1080,7 @@ window.onload = function () { -![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1190,7 +1190,7 @@ window.onload = function () { -![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1335,7 +1335,7 @@ window.onload = function () { -![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1480,4 +1480,4 @@ window.onload = function () { -![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md index 63ef5463ca..4e37116814 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md @@ -49,35 +49,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/addformfield.gif) +![Alt text](../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/dragformfield.gif) +![Alt text](../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../../pdfviewer/images/generalproperties.png) +![Alt text](../../pdfviewer/images/generalproperties.png) -![Alt text](../../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index b8b74825d4..f46913332f 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -223,7 +223,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/printformfield.gif) +![Alt text](../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -272,7 +272,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -677,7 +677,7 @@ The following code example explains how to update the properties of the signatur {% endtabs %} -![Signature Field Settings](../../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -714,7 +714,7 @@ window.onload = function () { -![Initial Field Settings](../../../pdfviewer/images/initialfield.png) +![Initial Field Settings](../../pdfviewer/images/initialfield.png) ### Textbox field settings @@ -923,7 +923,7 @@ The following code example explains how to update the properties of the textbox {% endhighlight %} {% endtabs %} -![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../pdfviewer/images/Textbox.png) ### Password field settings @@ -1129,7 +1129,7 @@ The following code example explains how to update the properties of the password {% endtabs %} -![Password Field Settings](../../../pdfviewer/images/Password.png) +![Password Field Settings](../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1299,7 +1299,7 @@ The following code example explains how to update the properties of the CheckBox {% endhighlight %} {% endtabs %} -![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1471,7 +1471,7 @@ The following code example explains how to update the properties of the RadioBut {% endtabs %} -![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1693,7 +1693,7 @@ The following code example explains how to update the properties of the ListBox {% endtabs %} -![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1913,4 +1913,4 @@ The following code example explains how to update the properties of the dropdown {% endhighlight %} {% endtabs %} -![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md index 066aa75d00..55fe727fb4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md @@ -56,35 +56,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/addformfield.gif) +![Alt text](../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/dragformfield.gif) +![Alt text](../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../../pdfviewer/images/generalproperties.png) +![Alt text](../../pdfviewer/images/generalproperties.png) -![Alt text](../../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo From 175a305bcf615a12ab7e3ba4ae452548dc029d2a Mon Sep 17 00:00:00 2001 From: Uma-SF4267 Date: Tue, 9 Apr 2024 14:25:10 +0530 Subject: [PATCH 102/134] 835457: formfield files commited properly as other md files --- .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ .../form-designer/create-programmatically.md | 20 ++++++++--------- .../create-with-user-interface-interaction.md | 14 ++++++------ 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index 7c324452ac..e51a798c8e 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -135,7 +135,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/saveformfield.gif) +![Alt text](../../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -175,7 +175,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/printformfield.gif) +![Alt text](../../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -218,7 +218,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -667,7 +667,7 @@ The following code example explains how to update the properties of the signatur -![Signature Field Settings](../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -704,7 +704,7 @@ window.onload = function () { -![Initial Field Settings](../../pdfviewer/images/InitialField.png) +![Initial Field Settings](../../../pdfviewer/images/InitialField.png) ### Textbox field settings @@ -840,7 +840,7 @@ window.onload = function () { -![Textbox Field Settings](../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) ### Password field settings @@ -972,7 +972,7 @@ window.onload = function () { -![Password Field Settings](../../pdfviewer/images/Password.png) +![Password Field Settings](../../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1080,7 +1080,7 @@ window.onload = function () { -![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1190,7 +1190,7 @@ window.onload = function () { -![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1335,7 +1335,7 @@ window.onload = function () { -![ListBox Field Settings](../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1480,4 +1480,4 @@ window.onload = function () { -![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md index 4e37116814..63ef5463ca 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md @@ -49,35 +49,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/addformfield.gif) +![Alt text](../../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/dragformfield.gif) +![Alt text](../../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../pdfviewer/images/generalproperties.png) +![Alt text](../../../pdfviewer/images/generalproperties.png) -![Alt text](../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index f46913332f..b8b74825d4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -223,7 +223,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/printformfield.gif) +![Alt text](../../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -272,7 +272,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -677,7 +677,7 @@ The following code example explains how to update the properties of the signatur {% endtabs %} -![Signature Field Settings](../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -714,7 +714,7 @@ window.onload = function () { -![Initial Field Settings](../../pdfviewer/images/initialfield.png) +![Initial Field Settings](../../../pdfviewer/images/initialfield.png) ### Textbox field settings @@ -923,7 +923,7 @@ The following code example explains how to update the properties of the textbox {% endhighlight %} {% endtabs %} -![Textbox Field Settings](../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) ### Password field settings @@ -1129,7 +1129,7 @@ The following code example explains how to update the properties of the password {% endtabs %} -![Password Field Settings](../../pdfviewer/images/Password.png) +![Password Field Settings](../../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1299,7 +1299,7 @@ The following code example explains how to update the properties of the CheckBox {% endhighlight %} {% endtabs %} -![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1471,7 +1471,7 @@ The following code example explains how to update the properties of the RadioBut {% endtabs %} -![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1693,7 +1693,7 @@ The following code example explains how to update the properties of the ListBox {% endtabs %} -![ListBox Field Settings](../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1913,4 +1913,4 @@ The following code example explains how to update the properties of the dropdown {% endhighlight %} {% endtabs %} -![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md index 55fe727fb4..066aa75d00 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md @@ -56,35 +56,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/addformfield.gif) +![Alt text](../../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/dragformfield.gif) +![Alt text](../../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../pdfviewer/images/generalproperties.png) +![Alt text](../../../pdfviewer/images/generalproperties.png) -![Alt text](../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo From f17b9ab56b098cb538ae6b1c79d2d41004810097 Mon Sep 17 00:00:00 2001 From: Uma-SF4267 Date: Tue, 9 Apr 2024 16:18:07 +0530 Subject: [PATCH 103/134] 835457: formfield files commited properly as other md files --- .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index e51a798c8e..7c324452ac 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -135,7 +135,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/saveformfield.gif) +![Alt text](../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -175,7 +175,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/printformfield.gif) +![Alt text](../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -218,7 +218,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -667,7 +667,7 @@ The following code example explains how to update the properties of the signatur -![Signature Field Settings](../../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -704,7 +704,7 @@ window.onload = function () { -![Initial Field Settings](../../../pdfviewer/images/InitialField.png) +![Initial Field Settings](../../pdfviewer/images/InitialField.png) ### Textbox field settings @@ -840,7 +840,7 @@ window.onload = function () { -![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../pdfviewer/images/Textbox.png) ### Password field settings @@ -972,7 +972,7 @@ window.onload = function () { -![Password Field Settings](../../../pdfviewer/images/Password.png) +![Password Field Settings](../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1080,7 +1080,7 @@ window.onload = function () { -![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1190,7 +1190,7 @@ window.onload = function () { -![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1335,7 +1335,7 @@ window.onload = function () { -![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1480,4 +1480,4 @@ window.onload = function () { -![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md index 63ef5463ca..4e37116814 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md @@ -49,35 +49,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/addformfield.gif) +![Alt text](../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/dragformfield.gif) +![Alt text](../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../../pdfviewer/images/generalproperties.png) +![Alt text](../../pdfviewer/images/generalproperties.png) -![Alt text](../../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index b8b74825d4..756e73a81b 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -176,7 +176,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/saveformfield.gif) +![Alt text](../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -223,7 +223,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/printformfield.gif) +![Alt text](../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -272,7 +272,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -677,7 +677,7 @@ The following code example explains how to update the properties of the signatur {% endtabs %} -![Signature Field Settings](../../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -714,7 +714,7 @@ window.onload = function () { -![Initial Field Settings](../../../pdfviewer/images/initialfield.png) +![Initial Field Settings](../../pdfviewer/images/initialfield.png) ### Textbox field settings @@ -923,7 +923,7 @@ The following code example explains how to update the properties of the textbox {% endhighlight %} {% endtabs %} -![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../pdfviewer/images/Textbox.png) ### Password field settings @@ -1129,7 +1129,7 @@ The following code example explains how to update the properties of the password {% endtabs %} -![Password Field Settings](../../../pdfviewer/images/Password.png) +![Password Field Settings](../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1299,7 +1299,7 @@ The following code example explains how to update the properties of the CheckBox {% endhighlight %} {% endtabs %} -![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1471,7 +1471,7 @@ The following code example explains how to update the properties of the RadioBut {% endtabs %} -![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1693,7 +1693,7 @@ The following code example explains how to update the properties of the ListBox {% endtabs %} -![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1913,4 +1913,4 @@ The following code example explains how to update the properties of the dropdown {% endhighlight %} {% endtabs %} -![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md index 066aa75d00..55fe727fb4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md @@ -56,35 +56,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/addformfield.gif) +![Alt text](../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/dragformfield.gif) +![Alt text](../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../../pdfviewer/images/generalproperties.png) +![Alt text](../../pdfviewer/images/generalproperties.png) -![Alt text](../../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo From d34476b379dc4b51ae360b7d9496572444d1e596 Mon Sep 17 00:00:00 2001 From: Uma-SF4267 Date: Tue, 9 Apr 2024 16:19:21 +0530 Subject: [PATCH 104/134] commmit --- .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index 7c324452ac..e51a798c8e 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -135,7 +135,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/saveformfield.gif) +![Alt text](../../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -175,7 +175,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/printformfield.gif) +![Alt text](../../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -218,7 +218,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -667,7 +667,7 @@ The following code example explains how to update the properties of the signatur -![Signature Field Settings](../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -704,7 +704,7 @@ window.onload = function () { -![Initial Field Settings](../../pdfviewer/images/InitialField.png) +![Initial Field Settings](../../../pdfviewer/images/InitialField.png) ### Textbox field settings @@ -840,7 +840,7 @@ window.onload = function () { -![Textbox Field Settings](../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) ### Password field settings @@ -972,7 +972,7 @@ window.onload = function () { -![Password Field Settings](../../pdfviewer/images/Password.png) +![Password Field Settings](../../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1080,7 +1080,7 @@ window.onload = function () { -![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1190,7 +1190,7 @@ window.onload = function () { -![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1335,7 +1335,7 @@ window.onload = function () { -![ListBox Field Settings](../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1480,4 +1480,4 @@ window.onload = function () { -![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md index 4e37116814..63ef5463ca 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md @@ -49,35 +49,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/addformfield.gif) +![Alt text](../../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/dragformfield.gif) +![Alt text](../../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../pdfviewer/images/generalproperties.png) +![Alt text](../../../pdfviewer/images/generalproperties.png) -![Alt text](../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index 756e73a81b..b8b74825d4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -176,7 +176,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/saveformfield.gif) +![Alt text](../../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -223,7 +223,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/printformfield.gif) +![Alt text](../../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -272,7 +272,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -677,7 +677,7 @@ The following code example explains how to update the properties of the signatur {% endtabs %} -![Signature Field Settings](../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -714,7 +714,7 @@ window.onload = function () { -![Initial Field Settings](../../pdfviewer/images/initialfield.png) +![Initial Field Settings](../../../pdfviewer/images/initialfield.png) ### Textbox field settings @@ -923,7 +923,7 @@ The following code example explains how to update the properties of the textbox {% endhighlight %} {% endtabs %} -![Textbox Field Settings](../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) ### Password field settings @@ -1129,7 +1129,7 @@ The following code example explains how to update the properties of the password {% endtabs %} -![Password Field Settings](../../pdfviewer/images/Password.png) +![Password Field Settings](../../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1299,7 +1299,7 @@ The following code example explains how to update the properties of the CheckBox {% endhighlight %} {% endtabs %} -![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1471,7 +1471,7 @@ The following code example explains how to update the properties of the RadioBut {% endtabs %} -![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1693,7 +1693,7 @@ The following code example explains how to update the properties of the ListBox {% endtabs %} -![ListBox Field Settings](../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1913,4 +1913,4 @@ The following code example explains how to update the properties of the dropdown {% endhighlight %} {% endtabs %} -![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md index 55fe727fb4..066aa75d00 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md @@ -56,35 +56,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/addformfield.gif) +![Alt text](../../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/dragformfield.gif) +![Alt text](../../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../pdfviewer/images/generalproperties.png) +![Alt text](../../../pdfviewer/images/generalproperties.png) -![Alt text](../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo From 06de85d4860b20ccb1deaa1bbf56466480159241 Mon Sep 17 00:00:00 2001 From: Uma-SF4267 Date: Tue, 9 Apr 2024 17:11:29 +0530 Subject: [PATCH 105/134] 835457: formfield files commited properly as other md files --- .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ .../form-designer/create-programmatically.md | 22 +++++++++---------- .../create-with-user-interface-interaction.md | 14 ++++++------ 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md index e51a798c8e..7c324452ac 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-programmatically.md @@ -135,7 +135,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/saveformfield.gif) +![Alt text](../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -175,7 +175,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/printformfield.gif) +![Alt text](../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -218,7 +218,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -667,7 +667,7 @@ The following code example explains how to update the properties of the signatur -![Signature Field Settings](../../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -704,7 +704,7 @@ window.onload = function () { -![Initial Field Settings](../../../pdfviewer/images/InitialField.png) +![Initial Field Settings](../../pdfviewer/images/InitialField.png) ### Textbox field settings @@ -840,7 +840,7 @@ window.onload = function () { -![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../pdfviewer/images/Textbox.png) ### Password field settings @@ -972,7 +972,7 @@ window.onload = function () { -![Password Field Settings](../../../pdfviewer/images/Password.png) +![Password Field Settings](../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1080,7 +1080,7 @@ window.onload = function () { -![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1190,7 +1190,7 @@ window.onload = function () { -![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1335,7 +1335,7 @@ window.onload = function () { -![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1480,4 +1480,4 @@ window.onload = function () { -![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md index 63ef5463ca..4e37116814 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/form-designer/create-with-user-interface-interaction.md @@ -49,35 +49,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/addformfield.gif) +![Alt text](../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/dragformfield.gif) +![Alt text](../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../../pdfviewer/images/generalproperties.png) +![Alt text](../../pdfviewer/images/generalproperties.png) -![Alt text](../../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md index b8b74825d4..756e73a81b 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-programmatically.md @@ -176,7 +176,7 @@ Using deleteFormField method, the form field can be deleted programmatically. We When the download icon is selected on the toolbar, the Form Fields will be saved in the PDF document and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/saveformfield.gif) +![Alt text](../../pdfviewer/images/saveformfield.gif) You can invoke download action using following code snippet. @@ -223,7 +223,7 @@ You can invoke download action using following code snippet. When the print icon is selected on the toolbar, the PDF document will be printed along with the Form Fields added to the pages and this action will not affect the original document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/printformfield.gif) +![Alt text](../../pdfviewer/images/printformfield.gif) You can invoke print action using the following code snippet., @@ -272,7 +272,7 @@ You can invoke print action using the following code snippet., We can open the already saved PDF document contains Form Fields in it by clicking the open icon in the toolbar. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/openexistingpdf.gif) +![Alt text](../../pdfviewer/images/openexistingpdf.gif) ## Validate form fields @@ -677,7 +677,7 @@ The following code example explains how to update the properties of the signatur {% endtabs %} -![Signature Field Settings](../../../pdfviewer/images/signature_field.png) +![Signature Field Settings](../../pdfviewer/images/signature_field.png) The following code example explains how to update the properties of the initial field added to the document from the form designer toolbar. @@ -714,7 +714,7 @@ window.onload = function () { -![Initial Field Settings](../../../pdfviewer/images/initialfield.png) +![Initial Field Settings](../../pdfviewer/images/initialfield.png) ### Textbox field settings @@ -923,7 +923,7 @@ The following code example explains how to update the properties of the textbox {% endhighlight %} {% endtabs %} -![Textbox Field Settings](../../../pdfviewer/images/Textbox.png) +![Textbox Field Settings](../../pdfviewer/images/Textbox.png) ### Password field settings @@ -1129,7 +1129,7 @@ The following code example explains how to update the properties of the password {% endtabs %} -![Password Field Settings](../../../pdfviewer/images/Password.png) +![Password Field Settings](../../pdfviewer/images/Password.png) ### CheckBox field settings @@ -1299,7 +1299,7 @@ The following code example explains how to update the properties of the CheckBox {% endhighlight %} {% endtabs %} -![CheckBox Field Settings](../../../pdfviewer/images/Checkbox.png) +![CheckBox Field Settings](../../pdfviewer/images/Checkbox.png) ### RadioButton field settings @@ -1471,7 +1471,7 @@ The following code example explains how to update the properties of the RadioBut {% endtabs %} -![RadioButton Field Settings](../../../pdfviewer/images/Radiobutton.png) +![RadioButton Field Settings](../../pdfviewer/images/Radiobutton.png) ### ListBox field settings @@ -1693,7 +1693,7 @@ The following code example explains how to update the properties of the ListBox {% endtabs %} -![ListBox Field Settings](../../../pdfviewer/images/Listbox.png) +![ListBox Field Settings](../../pdfviewer/images/Listbox.png) ### DropDown field settings @@ -1913,4 +1913,4 @@ The following code example explains how to update the properties of the dropdown {% endhighlight %} {% endtabs %} -![DropDownBox Field Settings](../../../pdfviewer/images/Dropdown.png) \ No newline at end of file +![DropDownBox Field Settings](../../pdfviewer/images/Dropdown.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md index 066aa75d00..55fe727fb4 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/form-designer/create-with-user-interface-interaction.md @@ -56,35 +56,35 @@ We should inject FormDesigner module and set enableFormDesignerToolbar as true t Click the Form Field icon on the toolbar and then click on to the PDF document to draw a Form Field. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/addformfield.gif) +![Alt text](../../pdfviewer/images/addformfield.gif) ## Drag the form field We provide options to drag the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/dragformfield.gif) +![Alt text](../../pdfviewer/images/dragformfield.gif) ## Resize the form field We provide options to resize the Form Field which is currently selected in the PDF document. Refer the below GIF for further reference. -![Alt text](../../../pdfviewer/images/resizeformfield.gif) +![Alt text](../../pdfviewer/images/resizeformfield.gif) ## Edit or Update the form field dynamically The properties of the Form Fields can be edited using the Form Field Properties window. It can be opened by selecting the Properties option in the context menu that appears on the right by clicking the Form Field object. Refer the below image for the properties available to customize the appearance of the Form Field. -![Alt text](../../../pdfviewer/images/generalproperties.png) +![Alt text](../../pdfviewer/images/generalproperties.png) -![Alt text](../../../pdfviewer/images/appearanceproperties.png) +![Alt text](../../pdfviewer/images/appearanceproperties.png) -![Alt text](../../../pdfviewer/images/dropdownproperties.png) +![Alt text](../../pdfviewer/images/dropdownproperties.png) ## Clipboard operation with form field The PDF Viewer control supports the clipboard operations such as cut, copy and paste for Form Fields. You can right click on the Form Field object to view the context menu and select to the clipboard options that you would like to perform. Refer the below image for the options in the context menu. -![Alt text](../../../pdfviewer/images/clipboardformfield.png) +![Alt text](../../pdfviewer/images/clipboardformfield.png) ## Undo and Redo From 4b04627a01f9d70a3e303b692c510f5fbb02785e Mon Sep 17 00:00:00 2001 From: CCMKarthik123 Date: Thu, 11 Apr 2024 12:32:14 +0530 Subject: [PATCH 106/134] 872509: Resolved typo issue in documentation --- .../EJ2_ASP.NETCORE/getting-started-with-server-backed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md index a24cb8ccc4..f0188e575c 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md @@ -377,7 +377,7 @@ namespace PDFViewerSample.Pages public string freeTextAnnotation { get; set; } public string signatureData { get; set; } public string fieldsData { get; set; } - public string FormDesigner { get; set; } + public string formDesigner { get; set; } public string inkSignatureData { get; set; } public bool hideEmptyDigitalSignatureFields { get; set; } public bool showDigitalSignatureAppearance { get; set; } From 3e5c5d3d2d0561c73b3027c2fa595d5d992b9b3a Mon Sep 17 00:00:00 2001 From: CCMKarthik123 Date: Fri, 12 Apr 2024 11:03:44 +0530 Subject: [PATCH 107/134] 881508: Resolved front matter issue --- .../EJ2_ASP.NETCORE/getting-started-with-server-backed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md index f0188e575c..708d4ac390 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/getting-started-with-server-backed.md @@ -4,7 +4,7 @@ title: Getting Started with EJ2 ASP.NET Core PDF Viewer Control | Syncfusion description: Learn how to getting started with PDF Viewer control in ASP.NET Core application. You can view and comment on PDFs in ease and also can fill forms. platform: ej2-asp-core-mvc control: PDF Viewer -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- From 357265553a5713bf1322137e645d97432e49bcf1 Mon Sep 17 00:00:00 2001 From: Balaji-SF4331 Date: Fri, 12 Apr 2024 11:06:23 +0530 Subject: [PATCH 108/134] 879550: Remove gif and add images in customization common and individual sample. --- .../customization/connector-common/razor | 6 ------ .../customization/connector-common/tagHelper | 6 ------ .../customization/connector-individual/razor | 7 ------- .../customization/connector-individual/tagHelper | 7 ------- ej2-asp-core-mvc/timeline/customization.md | 4 ++-- .../timeline/images/connector-common.gif | Bin 3397 -> 0 bytes .../timeline/images/connector-common.png | Bin 0 -> 6626 bytes .../timeline/images/connector-individual.gif | Bin 6157 -> 0 bytes .../timeline/images/connector-individual.png | Bin 0 -> 7368 bytes 9 files changed, 2 insertions(+), 28 deletions(-) delete mode 100644 ej2-asp-core-mvc/timeline/images/connector-common.gif create mode 100644 ej2-asp-core-mvc/timeline/images/connector-common.png delete mode 100644 ej2-asp-core-mvc/timeline/images/connector-individual.gif create mode 100644 ej2-asp-core-mvc/timeline/images/connector-individual.png diff --git a/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-common/razor b/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-common/razor index c2b8549ded..2cb00a4a98 100644 --- a/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-common/razor +++ b/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-common/razor @@ -8,11 +8,5 @@ .custom-connector .e-timeline-item.e-connector::after { border-color: #f7c867; border-width: 1.4px; - animation: progress 2s; - } - - @@keyframes progress { - from { height: 0%; } - to { height: 100%; } } \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-common/tagHelper b/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-common/tagHelper index ce54581195..f8ddb123a6 100644 --- a/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-common/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-common/tagHelper @@ -14,11 +14,5 @@ .custom-connector .e-timeline-item.e-connector::after { border-color: #f7c867; border-width: 1.4px; - animation: progress 2s; - } - - @@keyframes progress { - from { height: 0%; } - to { height: 100%; } } \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-individual/razor b/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-individual/razor index 8db9623a67..1fe3ac9296 100644 --- a/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-individual/razor +++ b/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-individual/razor @@ -7,15 +7,8 @@ \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-individual/tagHelper b/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-individual/tagHelper index aaa267571c..04fb565b28 100644 --- a/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-individual/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/timeline/customization/connector-individual/tagHelper @@ -13,15 +13,8 @@ \ No newline at end of file diff --git a/ej2-asp-core-mvc/timeline/customization.md b/ej2-asp-core-mvc/timeline/customization.md index 7bffb36e21..6b9179e794 100644 --- a/ej2-asp-core-mvc/timeline/customization.md +++ b/ej2-asp-core-mvc/timeline/customization.md @@ -41,7 +41,7 @@ You can define the styles applicable to the all the Timeline item connectors. {% endtabs %} {% endif %} -![Common styling](images/connector-common.gif) +![Common styling](images/connector-common.png) ### Individual styling @@ -70,7 +70,7 @@ You can also apply unique styles to individual connectors, to differentiate spec {% endtabs %} {% endif %} -![Individual styling](images/connector-individual.gif) +![Individual styling](images/connector-individual.png) ## Dot styling diff --git a/ej2-asp-core-mvc/timeline/images/connector-common.gif b/ej2-asp-core-mvc/timeline/images/connector-common.gif deleted file mode 100644 index 572e23fc4bbff35eb20e5c5b8a1047db96070a6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3397 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 G_x}Kk<8?&< literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/timeline/images/connector-individual.gif b/ej2-asp-core-mvc/timeline/images/connector-individual.gif deleted file mode 100644 index 7b2d96288c8c088fce55883b790dbc9cb15cc8be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6157 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 Wp#fz*oJ(P{5h#$jZ^K9ixc^@nCZ$XO diff --git a/ej2-asp-core-mvc/timeline/images/connector-individual.png b/ej2-asp-core-mvc/timeline/images/connector-individual.png new file mode 100644 index 0000000000000000000000000000000000000000..2c97c2333cdb6bd40aa8702113b52f964b171a4a GIT binary patch literal 7368 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 Y6JfuxwrXdCUmqdb8v2(DFIhhLA96f-asU7T literal 0 HcmV?d00001 From 9dee4e19af569cb675e8b09136cb5b74a9ae05ec Mon Sep 17 00:00:00 2001 From: VeerakumarN <103416535+VeerakumarN@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:39:00 +0530 Subject: [PATCH 109/134] 876007: Fixed CR issue for April 16. --- ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md index 817b575afc..5c904bcff5 100644 --- a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md +++ b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md @@ -15,6 +15,10 @@ documentation: ug Category axis are used to represent, the string values instead of numbers. +To quickly get started with Syncfusion ASP.NET Core Category Axis, you can check out this video: + +{% youtube "https://www.youtube.com/watch?v=l3M5ZvM1Ozs" %} + {% if page.publishingplatform == "aspnet-core" %} {% tabs %} From 804896761fbe31ff587588a6b67617d5085a8280 Mon Sep 17 00:00:00 2001 From: VeerakumarN <103416535+VeerakumarN@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:39:23 +0530 Subject: [PATCH 110/134] 876007: Fixed CR issue for April 16. --- ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md index 4defdb3cf1..e2d4f1029f 100644 --- a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md +++ b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md @@ -15,6 +15,10 @@ documentation: ug Logarithmic axis uses logarithmic scale and it is very useful in visualizing data, when it has numeric values in both lower order of magnitude (eg: 10-6) and higher order of magnitude (eg: 106). +To quickly get started with Syncfusion ASP.NET Core Logarithmic Axis, you can check out this video: + +{% youtube "https://www.youtube.com/watch?v=l3M5ZvM1Ozs" %} + {% if page.publishingplatform == "aspnet-core" %} {% tabs %} From 3f3a1a9bb57f26373fce7c7f4b8ba71baa7d80cb Mon Sep 17 00:00:00 2001 From: VeerakumarN <103416535+VeerakumarN@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:40:01 +0530 Subject: [PATCH 111/134] 876007: Fixed CR issue for April 16. --- .../code-snippet/chart/getting-started/multi-export/tagHelper | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/chart/getting-started/multi-export/tagHelper b/ej2-asp-core-mvc/code-snippet/chart/getting-started/multi-export/tagHelper index 9ae9a6a1ef..7460e41877 100644 --- a/ej2-asp-core-mvc/code-snippet/chart/getting-started/multi-export/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/chart/getting-started/multi-export/tagHelper @@ -19,6 +19,6 @@ document.getElementById('button').onclick = () => { var chart = document.getElementById('container').ej2_instances[0]; var chart1 = document.getElementById('container1').ej2_instances[0]; - chart.export('PNG', 'chart', 'Landscape', [chart,chart1]); + chart.exportModule.export('PNG', 'chart', 'Landscape', [chart,chart1]); }; - \ No newline at end of file + From 69f703a60027eae81a3a2541f33ca97c911b84d0 Mon Sep 17 00:00:00 2001 From: VeerakumarN <103416535+VeerakumarN@users.noreply.github.com> Date: Fri, 12 Apr 2024 15:59:55 +0530 Subject: [PATCH 112/134] 876007: Fixed CR issue for April 16. --- ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md index 5c904bcff5..699eb17d31 100644 --- a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md +++ b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md @@ -1,6 +1,6 @@ --- layout: post -title: Category Axis in ##Platform_Name## Chart Component +title: Category Axis in ##Platform_Name## Chart Component | Syncfusion description: Learn here all about Category Axis in Syncfusion ##Platform_Name## Chart component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Category Axis @@ -8,6 +8,7 @@ publishingplatform: ##Platform_Name## documentation: ug --- + # Category Axis From 6a96635879857079f971d3790b70147ebc9f1a65 Mon Sep 17 00:00:00 2001 From: VeerakumarN <103416535+VeerakumarN@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:00:22 +0530 Subject: [PATCH 113/134] 876007: Fixed CR issue for April 16. --- ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md index e2d4f1029f..15b6109600 100644 --- a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md +++ b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md @@ -1,6 +1,6 @@ --- layout: post -title: Logarithmic Axis in ##Platform_Name## Chart Component +title: Logarithmic Axis in ##Platform_Name## Chart Component | Syncfusion description: Learn here all about Logarithmic Axis in Syncfusion ##Platform_Name## Chart component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Logarithmic Axis @@ -8,6 +8,7 @@ publishingplatform: ##Platform_Name## documentation: ug --- + # Logarithmic Axis From 154095b7ebdc814bf454e9657a0acce66024668c Mon Sep 17 00:00:00 2001 From: VeerakumarN <103416535+VeerakumarN@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:09:16 +0530 Subject: [PATCH 114/134] 876007: Fixed CR issue for April 16. --- ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md index 699eb17d31..9ac9e962ad 100644 --- a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md +++ b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/category-axis.md @@ -8,9 +8,8 @@ publishingplatform: ##Platform_Name## documentation: ug --- - -# Category Axis +# ASP.NET Core Category Axis From d77b7448770bc98faaae872fd25ecb79cf7ee876 Mon Sep 17 00:00:00 2001 From: VeerakumarN <103416535+VeerakumarN@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:09:37 +0530 Subject: [PATCH 115/134] 876007: Fixed CR issue for April 16. --- ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md index 15b6109600..63cadc433e 100644 --- a/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md +++ b/ej2-asp-core-mvc/chart/EJ2_ASP.NETCORE/logarithmic-axis.md @@ -8,9 +8,8 @@ publishingplatform: ##Platform_Name## documentation: ug --- - -# Logarithmic Axis +# ASP.NET Core Logarithmic Axis From 84df544ad025fb201d60d541b7f50408b68b3c20 Mon Sep 17 00:00:00 2001 From: Edithabich Date: Fri, 12 Apr 2024 14:32:56 +0300 Subject: [PATCH 116/134] fixed comment --- .../pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md index 4f7f2010d7..3b5f4eb9f9 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md @@ -1,6 +1,6 @@ --- layout: post -title: Text Markup Annotation Guide in ##Platform_Name## Pdfviewer Component | Syncfusion +title: Text Markup Annotation Support in ##Platform_Name## Pdfviewer Component | Syncfusion description: Learn here all about Text Markup Annotation in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Text Markup Annotation From d8ea257395e5eac8bf2b4da21104f8a0abeebfa9 Mon Sep 17 00:00:00 2001 From: gopi-jp <125449519+gopi-jp@users.noreply.github.com> Date: Mon, 15 Apr 2024 08:39:55 +0530 Subject: [PATCH 117/134] Need to provide a localization for QueryBuilder operators such as "DoesNotStartWith," "DoesNotEndWith," and "DoesNotContain." in all EJ2 platform --- .../query-builder/globalization/localization/razor | 3 +++ .../query-builder/globalization/localization/tagHelper | 3 +++ ej2-asp-core-mvc/query-builder/global-local.md | 3 +++ 3 files changed, 9 insertions(+) diff --git a/ej2-asp-core-mvc/code-snippet/query-builder/globalization/localization/razor b/ej2-asp-core-mvc/code-snippet/query-builder/globalization/localization/razor index dcfea2fa0c..35b8dc70eb 100644 --- a/ej2-asp-core-mvc/code-snippet/query-builder/globalization/localization/razor +++ b/ej2-asp-core-mvc/code-snippet/query-builder/globalization/localization/razor @@ -25,6 +25,9 @@ 'SelectOperator': 'Operator auswählen', 'StartsWith': 'Beginnt mit', 'EndsWith': 'Endet mit', + 'DoesNotStartWith': 'Beginnt nicht mit', + 'DoesNotEndWith': 'Endet nicht mit', + 'DoesNotContain': 'Beinhaltet nicht', 'Contains': 'Enthält', 'Equal': 'Gleich', 'NotEqual': 'Nicht gleich', diff --git a/ej2-asp-core-mvc/code-snippet/query-builder/globalization/localization/tagHelper b/ej2-asp-core-mvc/code-snippet/query-builder/globalization/localization/tagHelper index b1496875f3..6eed1ea033 100644 --- a/ej2-asp-core-mvc/code-snippet/query-builder/globalization/localization/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/query-builder/globalization/localization/tagHelper @@ -24,6 +24,9 @@ 'SelectOperator': 'Operator auswählen', 'StartsWith': 'Beginnt mit', 'EndsWith': 'Endet mit', + 'DoesNotStartWith': 'Beginnt nicht mit', + 'DoesNotEndWith': 'Endet nicht mit', + 'DoesNotContain': 'Beinhaltet nicht', 'Contains': 'Enthält', 'Equal': 'Gleich', 'NotEqual': 'Nicht gleich', diff --git a/ej2-asp-core-mvc/query-builder/global-local.md b/ej2-asp-core-mvc/query-builder/global-local.md index 1378eea7d9..369b38f41f 100644 --- a/ej2-asp-core-mvc/query-builder/global-local.md +++ b/ej2-asp-core-mvc/query-builder/global-local.md @@ -26,7 +26,10 @@ The following list of properties and its values are used in the Query Builder. | SelectOperator | Select operator | | StartsWith | Starts With| | EndsWith | Ends With | +| DoesNotStartWith | Does Not Start With | +| DoesNotEndWith | Does Not End With | | Contains | Contains | +| DoesNotContain | Does Not Contain | | Equal | Equal | | NotEqual | Not Equal | | LessThan | Less Than | From 5860a9066459870ba246f736c49aec029905c79e Mon Sep 17 00:00:00 2001 From: Satheeskumar Sekar Date: Mon, 15 Apr 2024 10:30:05 +0530 Subject: [PATCH 118/134] Need to provide a localization for QueryBuilder operators such as "DoesNotStartWith," "DoesNotEndWith," and "DoesNotContain." in all EJ2 platform --- ej2-asp-core-mvc/query-builder/global-local.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/query-builder/global-local.md b/ej2-asp-core-mvc/query-builder/global-local.md index 369b38f41f..49cf905655 100644 --- a/ej2-asp-core-mvc/query-builder/global-local.md +++ b/ej2-asp-core-mvc/query-builder/global-local.md @@ -1,6 +1,6 @@ --- layout: post -title: Global Local in ##Platform_Name## Query Builder Component +title: Global Local in Syncfusion ##Platform_Name## Query Builder Component description: Learn here all about Global Local in Syncfusion ##Platform_Name## Query Builder component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Global Local From d1e4ebe3d6fd3d743321b21bf833716ea790d9a3 Mon Sep 17 00:00:00 2001 From: Satheeskumar Sekar Date: Mon, 15 Apr 2024 10:31:34 +0530 Subject: [PATCH 119/134] Need to provide a localization for QueryBuilder operators such as "DoesNotStartWith," "DoesNotEndWith," and "DoesNotContain." in all EJ2 platform --- ej2-asp-core-mvc/query-builder/global-local.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/query-builder/global-local.md b/ej2-asp-core-mvc/query-builder/global-local.md index 49cf905655..36d20ae584 100644 --- a/ej2-asp-core-mvc/query-builder/global-local.md +++ b/ej2-asp-core-mvc/query-builder/global-local.md @@ -9,7 +9,7 @@ documentation: ug --- -# Localization +# Localization in Syncfusion Query Builder Control The `Localization` library allows you to localize the default text content of the Query Builder. The Query Builder has static text that can be changed to other cultures (Arabic, Deutsch, French, etc.) by defining the `Locale` value and translation object. From ef6bce168e1ffedb3a7cce30ec33b49ab4c8df6b Mon Sep 17 00:00:00 2001 From: Indrajith <93306904+IndrajithSrinivasan@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:00:09 +0530 Subject: [PATCH 120/134] Merge pull request #2864 from syncfusion-content/EJ2-866032-customItem documentation(866032): Documented the usage of adding a custom item using the itemTemplate --- ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/items.md | 27 ++++++++++++++-- .../ribbon/EJ2_ASP.NETCORE/items.md | 29 ++++++++++++++++-- .../ribbon/images/customRibbonItem.png | Bin 4775 -> 11313 bytes 3 files changed, 50 insertions(+), 6 deletions(-) diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/items.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/items.md index 5caad7cfe7..6340381ff0 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/items.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.MVC/items.md @@ -8,7 +8,7 @@ publishingplatform: ##Platform_Name## documentation: ug --- -# Ribbon Items +# Items in ASP.NET MVC Ribbon control Ribbon renders various built-in items based on the item [Type](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonItem.html#Syncfusion_EJ2_Ribbon_RibbonItem_Type) property. By default, the type property is set as `Button` which renders the Button. @@ -165,7 +165,7 @@ The [Target](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon. {% endhighlight %} {% endtabs %} -#### Customize Dropdown button item +#### Customize dropdown button item You can customize the dropdown button item by specifying a custom cssClass using the [beforeItemRender](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Ribbon.RibbonDropDownSettings.html#Syncfusion_EJ2_Ribbon_RibbonDropDownSettings_BeforeItemRender) event. @@ -504,7 +504,14 @@ You can customize the ribbon items with non-built-in items or HTML content by se { tab.Header("Home").Groups(group => { - group.Header("View").Collections(collection => + group.Header("Templates").IsCollapsible(false).Collections(collection => + { + collection.Items(item => + { + item.Type(RibbonItemType.Template).ItemTemplate("


                      ").Add(); + }).Add(); + }).Add(); + group.Header("Multimedia").Collections(collection => { collection.Items(item => { @@ -540,6 +547,20 @@ You can customize the ribbon items with non-built-in items or HTML content by se .ribbonTemplate.Small .text { display: none; } + + .custom-template input { + margin-left: 10px; + width: 100px; + } + + .custom-template.Medium { + display: flex; + align-items: center; + } + .custom-template.Medium input { + height: 14px; + margin-right: 10px; + } {% endhighlight %} diff --git a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/items.md b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/items.md index 791a5ddfe3..c370a702bc 100644 --- a/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/items.md +++ b/ej2-asp-core-mvc/ribbon/EJ2_ASP.NETCORE/items.md @@ -8,7 +8,7 @@ publishingplatform: ##Platform_Name## documentation: ug --- -# Ribbon Items +# Items in ASP.NET Core Ribbon control Ribbon renders various built-in items based on the item [type](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonItem.html#Syncfusion_EJ2_Ribbon_RibbonItem_Type) property. By default, the type property is set as `Button` which renders the Button. @@ -177,7 +177,7 @@ The [target](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon {% endhighlight %} {% endtabs %} -#### Customize Dropdown button item +#### Customize dropdown button item You can customize the dropdown button item by specifying a custom cssClass using the [beforeItemRender](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Ribbon.RibbonDropDownSettings.html#Syncfusion_EJ2_Ribbon_RibbonDropDownSettings_BeforeItemRender) event. @@ -536,7 +536,17 @@ You can customize the ribbon items with non-built-in items or HTML content by se - + + + + + + + + + + + @@ -578,6 +588,19 @@ You can customize the ribbon items with non-built-in items or HTML content by se display: none; } + .custom-template input { + margin-left: 10px; + width: 100px; + } + + .custom-template.Medium { + display: flex; + align-items: center; + } + .custom-template.Medium input { + height: 14px; + margin-right: 10px; + } {% endhighlight %} diff --git a/ej2-asp-core-mvc/ribbon/images/customRibbonItem.png b/ej2-asp-core-mvc/ribbon/images/customRibbonItem.png index bca476ffaa21aabeb07ef7523fafc14d2a9530e4..6eb0600926e073e8b71a80f0e8b353d0f3c44ef8 100644 GIT binary patch literal 11313 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 Date: Tue, 16 Apr 2024 01:46:15 +0530 Subject: [PATCH 121/134] IN-181833 Added the release notes MD file for 25.1.40 and corresponding node entry in the TOC.html file --- ej2-asp-core-mvc/Release-notes/25.1.40.md | 18 ++++++++++++++++++ ej2-asp-core-toc.html | 2 +- ej2-asp-mvc-toc.html | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 ej2-asp-core-mvc/Release-notes/25.1.40.md diff --git a/ej2-asp-core-mvc/Release-notes/25.1.40.md b/ej2-asp-core-mvc/Release-notes/25.1.40.md new file mode 100644 index 0000000000..8ac70fe996 --- /dev/null +++ b/ej2-asp-core-mvc/Release-notes/25.1.40.md @@ -0,0 +1,18 @@ +--- +title: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +description: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +platform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Essential Studio for ##Platform_Name## Release Notes + +{% include release-info.html date="April 16, 2024" version="v25.1.40" %} + +{% directory path: _includes/release-notes/v25.1.40 %} + +{% include {{file.url}} %} + +{% enddirectory %} + diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index f56b6bef97..76d217250d 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2965,7 +2965,7 @@
                  • Release Notes -
                    • 2024 Volume 1 - 25.*
                    • 2023 Volume 4 - 24.*
                    • 2023 Volume 3 - 23.*
                    • 2023 Volume 2 - 22.*
                    • 2023 Volume 1 - 21.*
                    • +
                      • 2024 Volume 1 - 25.*
                      • 2023 Volume 4 - 24.*
                      • 2023 Volume 3 - 23.*
                      • 2023 Volume 2 - 22.*
                      • 2023 Volume 1 - 21.*
                      • 2022 Volume 4 - 20.4.*
                      • 2022 Volume 3 - 20.3.*
                      • 2022 volume 2 - 20.2.*
                      • Release Notes -
                        • 2024 Volume 1 - 25.*
                        • 2023 Volume 4 - 24.*
                        • 2023 Volume 3 - 23.*
                        • 2023 Volume 2 - 22.*
                        • 2023 Volume 1 - 21.*
                        • +
                          • 2024 Volume 1 - 25.*
                          • 2023 Volume 4 - 24.*
                          • 2023 Volume 3 - 23.*
                          • 2023 Volume 2 - 22.*
                          • 2023 Volume 1 - 21.*
                          • 2022 Volume 4 - 20.4.*
                          • 2022 Volume 3 - 20.3.*
                          • 2022 volume 2 - 20.2.*
                            • Weekly Nuget Release
                            • From 638a163b3f7aba54ad5ff2d444553fe8be42d7ce Mon Sep 17 00:00:00 2001 From: Bharath Date: Wed, 17 Apr 2024 09:31:57 +0530 Subject: [PATCH 122/134] 380577: Added documentation for toggle track pane --- .../toggle-track-pane/razor | 12 +++++++++ .../toggle-track-pane/tagHelper | 11 ++++++++ .../document-editor/track-changes.md | 25 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/razor create mode 100644 ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/tagHelper diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/razor b/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/razor new file mode 100644 index 0000000000..c1c8d48907 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/razor @@ -0,0 +1,12 @@ +
                              + @Html.EJS().DocumentEditorContainer("container").Created("onCreated").EnableToolbar(true).EnableTrackChanges(true).Render() +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/tagHelper new file mode 100644 index 0000000000..0f49a66e1d --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/tagHelper @@ -0,0 +1,11 @@ + + + + diff --git a/ej2-asp-core-mvc/document-editor/track-changes.md b/ej2-asp-core-mvc/document-editor/track-changes.md index f38823d3e1..8baa3f5213 100644 --- a/ej2-asp-core-mvc/document-editor/track-changes.md +++ b/ej2-asp-core-mvc/document-editor/track-changes.md @@ -35,6 +35,31 @@ The following example demonstrates how to enable track changes. {% endhighlight %}{% endtabs %} {% endif %} +## Show/Hide Revisions Pane + +The Show/Hide Revisions Pane feature in the Document Editor allows users to toggle the visibility of the revisions pane, providing flexibility in managing tracked changes within the document. + +The following example code illustrates how to show/hide the revisions pane. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/toggle-track-pane/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Track-changes-only.cs" %} +{% endhighlight %}{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/toggle-track-pane/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Track-changes-only.cs" %} +{% endhighlight %}{% endtabs %} +{% endif %} + ## Get all tracked revisions The following example demonstrate how to get all tracked revision from current document. From cf1b2c04a1ed03368453a34a2fe74247196d958c Mon Sep 17 00:00:00 2001 From: Bharath Date: Wed, 17 Apr 2024 09:44:03 +0530 Subject: [PATCH 123/134] 380577: Removed unnecessary code --- .../document-editor-container/toggle-track-pane/tagHelper | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/tagHelper index 0f49a66e1d..11280217af 100644 --- a/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/tagHelper +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/toggle-track-pane/tagHelper @@ -1,5 +1,4 @@ - - + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-blob/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-blob/tagHelper new file mode 100644 index 0000000000..076b9a70a9 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-blob/tagHelper @@ -0,0 +1,16 @@ +Export +
                              + +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/document-editor.cs b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/document-editor.cs new file mode 100644 index 0000000000..048a3eb88c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/document-editor.cs @@ -0,0 +1,5 @@ +public ActionResult Default() +{ + return View(); +} + diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/razor b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/razor new file mode 100644 index 0000000000..22378936ef --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/razor @@ -0,0 +1,16 @@ +@Html.EJS().Button("export").Content("Export").Render() +
                              + @Html.EJS().DocumentEditorContainer("container").IsReadOnly(false).EnableEditor(true).EnableSelection(true).EnableSfdtExport(true).Render() +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/tagHelper new file mode 100644 index 0000000000..e5f3071471 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-docx/tagHelper @@ -0,0 +1,16 @@ +Export +
                              + +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/document-editor.cs b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/document-editor.cs new file mode 100644 index 0000000000..048a3eb88c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/document-editor.cs @@ -0,0 +1,5 @@ +public ActionResult Default() +{ + return View(); +} + diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/razor b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/razor new file mode 100644 index 0000000000..25db6655ea --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/razor @@ -0,0 +1,16 @@ +@Html.EJS().Button("export").Content("Export").Render() +
                              + @Html.EJS().DocumentEditorContainer("container").IsReadOnly(false).EnableEditor(true).EnableSelection(true).EnableSfdtExport(true).Render() +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/tagHelper new file mode 100644 index 0000000000..ea814856f5 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-dotx/tagHelper @@ -0,0 +1,16 @@ +Export +
                              + +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/document-editor.cs b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/document-editor.cs new file mode 100644 index 0000000000..048a3eb88c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/document-editor.cs @@ -0,0 +1,5 @@ +public ActionResult Default() +{ + return View(); +} + diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/razor b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/razor new file mode 100644 index 0000000000..b73361aadb --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/razor @@ -0,0 +1,16 @@ +@Html.EJS().Button("export").Content("Export").Render() +
                              + @Html.EJS().DocumentEditorContainer("container").IsReadOnly(false).EnableEditor(true).EnableSelection(true).EnableSfdtExport(true).Render() +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/tagHelper new file mode 100644 index 0000000000..89c62544df --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-sfdt/tagHelper @@ -0,0 +1,16 @@ +Export +
                              + +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/document-editor.cs b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/document-editor.cs new file mode 100644 index 0000000000..048a3eb88c --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/document-editor.cs @@ -0,0 +1,5 @@ +public ActionResult Default() +{ + return View(); +} + diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/razor b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/razor new file mode 100644 index 0000000000..0e979b4800 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/razor @@ -0,0 +1,16 @@ +@Html.EJS().Button("export").Content("Export").Render() +
                              + @Html.EJS().DocumentEditorContainer("container").IsReadOnly(false).EnableEditor(true).EnableSelection(true).EnableSfdtExport(true).Render() +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/tagHelper b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/tagHelper new file mode 100644 index 0000000000..bc696a6b4f --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/document-editor-container/export-container-txt/tagHelper @@ -0,0 +1,16 @@ +Export +
                              + +
                              + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/document-editor/export.md b/ej2-asp-core-mvc/document-editor/export.md index d257d4e1df..fe2d6edb10 100644 --- a/ej2-asp-core-mvc/document-editor/export.md +++ b/ej2-asp-core-mvc/document-editor/export.md @@ -9,16 +9,16 @@ documentation: ug --- -# Export in Document Editor Component +# Export in Document Editor Component Document editor exports the document into various known file formats in client-side such as Microsoft Word document (.docx), text document (.txt), and its own format called **Syncfusion Document Text (.sfdt)**. We are providing two types of save APIs as mentioned below. -|API name|Purpose| -|--------|---------| -|save(filename,FormatType):void
                              FormatType: Sfdt or Docx or Txt|Creates the document with specified file name and format type. Then, the created file is downloaded in the client browser by default.| -|saveAsBlob(FormatType):Blob|Creates the document in specified format type and returns the created document as Blob.
                              This blob can be uploaded to your required server, database, or file path.| +|API name|Purpose|Code Snippet for Document Editor|Code Snippet for Document Editor Container| +|--------|---------|----------|----------| +|save(filename,FormatType):void
                              FormatType: Sfdt or Docx or Txt|Creates the document with specified file name and format type. Then, the created file is downloaded in the client browser by default.|documenteditor.save('sample', 'Docx')|container.documentEditor.save('sample', 'Docx')| +|saveAsBlob(FormatType):Blob|Creates the document in specified format type and returns the created document as Blob.
                              This blob can be uploaded to your required server, database, or file path.|documenteditor.saveAsBlob('Docx')|container.documentEditor.saveAsBlob('Docx')| ## Sfdt export @@ -35,6 +35,15 @@ The following example shows how to export documents in document editor as Syncfu {% endhighlight %} {% endtabs %} +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-sfdt/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor-container/export-container-sfdt/document-editor.cs %} +{% endhighlight %} +{% endtabs %} + {% elsif page.publishingplatform == "aspnet-mvc" %} {% tabs %} @@ -47,6 +56,15 @@ The following example shows how to export documents in document editor as Syncfu {% endtabs %} {% endif %} +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-sfdt/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor-container/export-container-sfdt/document-editor.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} N>To enable Sfdt export for a document editor instance, set [`enableSfdtExport`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.DocumentEditor.DocumentEditor.html#Syncfusion_EJ2_DocumentEditor_DocumentEditor_EnableSfdtExport) to true. @@ -66,6 +84,15 @@ The following example shows how to export the document as Word document (.docx). {% endhighlight %} {% endtabs %} +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-docx/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor-container/export-container-docx/document-editor.cs %} +{% endhighlight %} +{% endtabs %} + {% elsif page.publishingplatform == "aspnet-mvc" %} {% tabs %} @@ -78,6 +105,15 @@ The following example shows how to export the document as Word document (.docx). {% endtabs %} {% endif %} +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-docx/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor-container/export-container-docx/document-editor.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} N>To enable word export for a document editor instance, set [`enableWordExport`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.DocumentEditor.DocumentEditor.html#Syncfusion_EJ2_DocumentEditor_DocumentEditor_EnableWordExport) to true. @@ -99,6 +135,15 @@ The following example shows how to export the document as Word Template (.dotx). {% endhighlight %} {% endtabs %} +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-dotx/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor-container/export-container-dotx/document-editor.cs %} +{% endhighlight %} +{% endtabs %} + {% elsif page.publishingplatform == "aspnet-mvc" %} {% tabs %} @@ -111,6 +156,16 @@ The following example shows how to export the document as Word Template (.dotx). {% endtabs %} {% endif %} +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-dotx/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor-container/export-container-dotx/document-editor.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + ## Text export The following example shows how to export document as text document (.txt). @@ -126,6 +181,15 @@ The following example shows how to export document as text document (.txt). {% endhighlight %} {% endtabs %} +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-txt/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor-container/export-container-txt/document-editor.cs %} +{% endhighlight %} +{% endtabs %} + {% elsif page.publishingplatform == "aspnet-mvc" %} {% tabs %} @@ -138,6 +202,16 @@ The following example shows how to export document as text document (.txt). {% endtabs %} {% endif %} +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-txt/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Document-editor.cs" %} +{% include code-snippet/document-editor-container/export-container-txt/document-editor.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + N>To enable text export for a document editor instance, set [`enableTextExport`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.DocumentEditor.DocumentEditor.html#Syncfusion_EJ2_DocumentEditor_DocumentEditor_EnableTextExport) to true. @@ -155,6 +229,13 @@ Document editor also supports API to store the document into a blob. {% highlight c# tabtitle="Export-blob.cs" %} {% endhighlight %}{% endtabs %} +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-blob/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="Export-blob.cs" %} +{% endhighlight %}{% endtabs %} + {% elsif page.publishingplatform == "aspnet-mvc" %} {% tabs %} @@ -165,6 +246,14 @@ Document editor also supports API to store the document into a blob. {% endhighlight %}{% endtabs %} {% endif %} +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/document-editor-container/export-container-blob/razor %} +{% endhighlight %} +{% highlight c# tabtitle="Export-blob.cs" %} +{% endhighlight %}{% endtabs %} +{% endif %} + For instance, to export the document as Rich Text Format file, implement an ASP.NET MVC web API controller using DocIO library by passing the DOCX blob. From 548e1a4057d7ff9ffef463acd4c75ea8fb7da07b Mon Sep 17 00:00:00 2001 From: JanakiramanSakthivel Date: Thu, 18 Apr 2024 18:56:05 +0530 Subject: [PATCH 125/134] 882752: Removed the collaborative editing topic from our UG documentation. --- .../collaborativeController.cs | 4 - .../spreadsheet/collaborative-editing/razor | 23 --- .../collaborative-editing/tagHelper | 24 --- .../collaborativePreventController.cs | 4 - .../collaborative-prevent-action/razor | 26 --- .../collaborative-prevent-action/tagHelper | 27 --- .../collaborativeImportController.cs | 4 - .../import-collaborative-mode/razor | 39 ---- .../import-collaborative-mode/tagHelper | 41 ----- .../use-cases/collaborative-editing.md | 171 ------------------ ej2-asp-core-toc.html | 5 - ej2-asp-mvc-toc.html | 5 - 12 files changed, 373 deletions(-) delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/collaborativeController.cs delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/razor delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/tagHelper delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/collaborativePreventController.cs delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/razor delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/tagHelper delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/collaborativeImportController.cs delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/razor delete mode 100644 ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/tagHelper delete mode 100644 ej2-asp-core-mvc/spreadsheet/use-cases/collaborative-editing.md diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/collaborativeController.cs b/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/collaborativeController.cs deleted file mode 100644 index ae802af03b..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/collaborativeController.cs +++ /dev/null @@ -1,4 +0,0 @@ -public IActionResult Index() - { - return View(); - } \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/razor b/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/razor deleted file mode 100644 index 65e896c9d1..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/razor +++ /dev/null @@ -1,23 +0,0 @@ -@Html.EJS().Spreadsheet("spreadsheet").ActionComplete("actionComplete").Render() - - diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/tagHelper b/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/tagHelper deleted file mode 100644 index ea8fae8b20..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-editing/tagHelper +++ /dev/null @@ -1,24 +0,0 @@ - - - - diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/collaborativePreventController.cs b/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/collaborativePreventController.cs deleted file mode 100644 index ae802af03b..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/collaborativePreventController.cs +++ /dev/null @@ -1,4 +0,0 @@ -public IActionResult Index() - { - return View(); - } \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/razor b/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/razor deleted file mode 100644 index 9f52f83d6f..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/razor +++ /dev/null @@ -1,26 +0,0 @@ -@Html.EJS().Spreadsheet("spreadsheet").ActionComplete("actionComplete").Render() - - diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/tagHelper b/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/tagHelper deleted file mode 100644 index 6b18853bc5..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/collaborative-prevent-action/tagHelper +++ /dev/null @@ -1,27 +0,0 @@ - - - - diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/collaborativeImportController.cs b/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/collaborativeImportController.cs deleted file mode 100644 index ae802af03b..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/collaborativeImportController.cs +++ /dev/null @@ -1,4 +0,0 @@ -public IActionResult Index() - { - return View(); - } \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/razor b/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/razor deleted file mode 100644 index 211b35940a..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/razor +++ /dev/null @@ -1,39 +0,0 @@ -@Html.EJS().Spreadsheet("spreadsheet").ActionComplete("actionComplete").Render() - - diff --git a/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/tagHelper b/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/tagHelper deleted file mode 100644 index a7089ba142..0000000000 --- a/ej2-asp-core-mvc/code-snippet/spreadsheet/import-collaborative-mode/tagHelper +++ /dev/null @@ -1,41 +0,0 @@ - - - - diff --git a/ej2-asp-core-mvc/spreadsheet/use-cases/collaborative-editing.md b/ej2-asp-core-mvc/spreadsheet/use-cases/collaborative-editing.md deleted file mode 100644 index bf7bfcaf3d..0000000000 --- a/ej2-asp-core-mvc/spreadsheet/use-cases/collaborative-editing.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -layout: post -title: Collaborative Editing in ##Platform_Name## Spreadsheet Component -description: Learn here all about Collaborative Editing in Syncfusion ##Platform_Name## Spreadsheet component of Syncfusion Essential JS 2 and more. -platform: ej2-asp-core-mvc -control: Collaborative Editing -publishingplatform: ##Platform_Name## -documentation: ug ---- - - -# Collaborative Editing - -The collaborative editing support allows you to work at a spreadsheet collaboratively with other users. Multiple users can access to the the same spreadsheet simultaneously. - -## Dependencies - -The following dependent script is required to use the collaborative editing support in spreadsheet. - -```js - -``` - -## Client configuration - -To broadcast the data for every action in the spreadsheet, you need to transfer the data to the server through `send` method in `actionComplete` event and receive the same data by using the `dataReceived` method. In the `dataReceived` method, you need to update the action to the connected clients through `updateAction` method. - -The following code example shows `Collaborative Editing` support in the Spreadsheet control. - -{% if page.publishingplatform == "aspnet-core" %} - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/spreadsheet/collaborative-editing/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="CollaborativeController.cs" %} -{% include code-snippet/spreadsheet/collaborative-editing/collaborativeController.cs %} -{% endhighlight %} -{% endtabs %} - -{% elsif page.publishingplatform == "aspnet-mvc" %} - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/spreadsheet/collaborative-editing/razor %} -{% endhighlight %} -{% highlight c# tabtitle="CollaborativeController.cs" %} -{% include code-snippet/spreadsheet/collaborative-editing/collaborativeController.cs %} -{% endhighlight %} -{% endtabs %} -{% endif %} - - - -## Server configuration - -To make the communication between the server to the connected clients and from clients to the server, you need to configure the signalR Hubs using the following code. - -```js - -// For signalR Hub connection - -var connection = new signalR.HubConnectionBuilder().withUrl('https://localhost:44385/hubs/spreadsheethub', { // localhost from AspNetCore service - skipNegotiation: true, - transport: signalR.HttpTransportType.WebSockets - }).build(); - -``` - -## Hub configuration - -Initially create a AspNetCore project and add the hub file for sending and receiving the data between server and clients. - -```c# -using Microsoft.AspNetCore.SignalR; -using System.Threading.Tasks; - -namespace WebApplication.Hubs -{ - public class SpreadsheetHub : Hub - { - public async Task BroadcastData(string data) - { - await Clients.Others.SendAsync("dataReceived", data); - } - } -} -``` - -To configure the SignalR middleware by registering the following service in the `ConfigureServices` method of the `Startup` class. - -```c# - services.AddSignalR(e => - { - e.MaximumReceiveMessageSize = int.MaxValue; // Option to increase message size for inserting image feature. By default, SignalR send messages up to 32 KB. - }); -``` - -To set up the SignalR routes by calling MapHub in the `Configure` method of the `Startup` class. - -```c# - app.UseEndpoints(endpoints => - - { - - endpoints.MapRazorPages(); - - endpoints.MapHub("/hubs/spreadsheethub"); - - }); -``` - -For hosting the service, you may use the above code snippet or download and run the [local service](https://www.syncfusion.com/downloads/support/directtrac/general/ze/WebApplication1327152095). - -## Prevent the particular action update for collaborative client - -Using the `action` argument from the `actionComplete` event, you can prevent the particular action update for collaborative client. - -The following code example shows how to prevent collaborative client from updating the `format` action. - -{% if page.publishingplatform == "aspnet-core" %} - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/spreadsheet/collaborative-prevent-action/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="CollaborativePreventController.cs" %} -{% include code-snippet/spreadsheet/collaborative-prevent-action/collaborativePreventController.cs %} -{% endhighlight %} -{% endtabs %} - -{% elsif page.publishingplatform == "aspnet-mvc" %} - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/spreadsheet/collaborative-prevent-action/razor %} -{% endhighlight %} -{% highlight c# tabtitle="CollaborativePreventController.cs" %} -{% include code-snippet/spreadsheet/collaborative-prevent-action/collaborativePreventController.cs %} -{% endhighlight %} -{% endtabs %} -{% endif %} - -## Perform import action for collaborative clients - -Using the `action` argument from the `actionComplete` event, you can identity whether the import action is performed or not. If the action is `import`, then you need to send the `response data` to the server and also update the same to the collaborative clients. - -The following code example shows how to perform the import functionality for collaborative clients. - -{% if page.publishingplatform == "aspnet-core" %} - -{% tabs %} -{% highlight cshtml tabtitle="CSHTML" %} -{% include code-snippet/spreadsheet/import-collaborative-mode/tagHelper %} -{% endhighlight %} -{% highlight c# tabtitle="collaborativeImportController.cs" %} -{% include code-snippet/spreadsheet/import-collaborative-mode/collaborativeImportController.cs %} -{% endhighlight %} -{% endtabs %} - -{% elsif page.publishingplatform == "aspnet-mvc" %} - -{% tabs %} -{% highlight razor tabtitle="CSHTML" %} -{% include code-snippet/spreadsheet/import-collaborative-mode/razor %} -{% endhighlight %} -{% highlight c# tabtitle="collaborativeImportController.cs" %} -{% include code-snippet/spreadsheet/import-collaborative-mode/collaborativeImportController.cs %} -{% endhighlight %} -{% endtabs %} -{% endif %} \ No newline at end of file diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 76d217250d..7c0fae080c 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2458,11 +2458,6 @@
                            • Context Menu
                            • Templates
                            • Globalization
                            • -
                            • Use Cases - -
                            • How To
                              • Sort a range by custom list
                              • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index b4d2f05c59..4994b702ef 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -2421,11 +2421,6 @@
                              • Context Menu
                              • Templates
                              • Globalization
                              • -
                              • Use Cases - -
                              • How To
                                • Sort a range by custom list
                                • From 8ce8c58aede82aec877e27870984791ce1a32ed2 Mon Sep 17 00:00:00 2001 From: Deepak Raj Sundar Date: Mon, 22 Apr 2024 16:18:08 +0530 Subject: [PATCH 126/134] Added the release notes MD file and corresponding node entry in the TOC.html file --- .../Release-notes/25.1.40 - Copy.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 ej2-asp-core-mvc/Release-notes/25.1.40 - Copy.md diff --git a/ej2-asp-core-mvc/Release-notes/25.1.40 - Copy.md b/ej2-asp-core-mvc/Release-notes/25.1.40 - Copy.md new file mode 100644 index 0000000000..8ac70fe996 --- /dev/null +++ b/ej2-asp-core-mvc/Release-notes/25.1.40 - Copy.md @@ -0,0 +1,18 @@ +--- +title: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +description: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +platform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Essential Studio for ##Platform_Name## Release Notes + +{% include release-info.html date="April 16, 2024" version="v25.1.40" %} + +{% directory path: _includes/release-notes/v25.1.40 %} + +{% include {{file.url}} %} + +{% enddirectory %} + From 115c8704ca559943b680a30e10aea4fe9891b2e2 Mon Sep 17 00:00:00 2001 From: Deepak Raj Sundar Date: Mon, 22 Apr 2024 16:37:17 +0530 Subject: [PATCH 127/134] IN-182354 Added the release notes MD file for 25.1.41 and corresponding node entry in the TOC.html file --- .../Release-notes/25.1.40 - Copy.md | 18 ------------------ ej2-asp-core-toc.html | 2 +- ej2-asp-mvc-toc.html | 2 +- 3 files changed, 2 insertions(+), 20 deletions(-) delete mode 100644 ej2-asp-core-mvc/Release-notes/25.1.40 - Copy.md diff --git a/ej2-asp-core-mvc/Release-notes/25.1.40 - Copy.md b/ej2-asp-core-mvc/Release-notes/25.1.40 - Copy.md deleted file mode 100644 index 8ac70fe996..0000000000 --- a/ej2-asp-core-mvc/Release-notes/25.1.40 - Copy.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes -description: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes -platform: ej2-asp-core-mvc -publishingplatform: ##Platform_Name## -documentation: ug ---- - -# Essential Studio for ##Platform_Name## Release Notes - -{% include release-info.html date="April 16, 2024" version="v25.1.40" %} - -{% directory path: _includes/release-notes/v25.1.40 %} - -{% include {{file.url}} %} - -{% enddirectory %} - diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 7c0fae080c..934fc10388 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2960,7 +2960,7 @@
                              • Release Notes -
                                • 2024 Volume 1 - 25.*
                                • 2023 Volume 4 - 24.*
                                • 2023 Volume 3 - 23.*
                                • 2023 Volume 2 - 22.*
                                • 2023 Volume 1 - 21.*
                                • +
                                  • 2024 Volume 1 - 25.*
                                  • 2023 Volume 4 - 24.*
                                  • 2023 Volume 3 - 23.*
                                  • 2023 Volume 2 - 22.*
                                  • 2023 Volume 1 - 21.*
                                  • 2022 Volume 4 - 20.4.*
                                  • 2022 Volume 3 - 20.3.*
                                  • 2022 volume 2 - 20.2.*
                                  • Release Notes -
                                    • 2024 Volume 1 - 25.*
                                    • 2023 Volume 4 - 24.*
                                    • 2023 Volume 3 - 23.*
                                    • 2023 Volume 2 - 22.*
                                    • 2023 Volume 1 - 21.*
                                    • +
                                      • 2024 Volume 1 - 25.*
                                      • 2023 Volume 4 - 24.*
                                      • 2023 Volume 3 - 23.*
                                      • 2023 Volume 2 - 22.*
                                      • 2023 Volume 1 - 21.*
                                      • 2022 Volume 4 - 20.4.*
                                      • 2022 Volume 3 - 20.3.*
                                      • 2022 volume 2 - 20.2.*
                                        • Weekly Nuget Release
                                        • From f9b6032aa3437242345680af1a8b028c45a0c991 Mon Sep 17 00:00:00 2001 From: Deepak Raj Sundar Date: Mon, 22 Apr 2024 16:37:29 +0530 Subject: [PATCH 128/134] IN-182354 Added the release notes MD file for 25.1.41 and corresponding node entry in the TOC.html file --- ej2-asp-core-mvc/Release-notes/25.1.41.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 ej2-asp-core-mvc/Release-notes/25.1.41.md diff --git a/ej2-asp-core-mvc/Release-notes/25.1.41.md b/ej2-asp-core-mvc/Release-notes/25.1.41.md new file mode 100644 index 0000000000..40cc58e5e4 --- /dev/null +++ b/ej2-asp-core-mvc/Release-notes/25.1.41.md @@ -0,0 +1,17 @@ +--- +title: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +description: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +platform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Essential Studio for ##Platform_Name## Release Notes + +{% include release-info.html date="April 23, 2024" version="v25.1.41" %} + +{% directory path: _includes/release-notes/v25.1.41 %} + +{% include {{file.url}} %} + +{% enddirectory %} \ No newline at end of file From 7f2186a3cb5e684b8915187a925553cd51752943 Mon Sep 17 00:00:00 2001 From: Deepak Raj Sundar Date: Mon, 22 Apr 2024 17:40:23 +0530 Subject: [PATCH 129/134] dummy commit --- ej2-asp-core-mvc/Release-notes/25.1.41.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/Release-notes/25.1.41.md b/ej2-asp-core-mvc/Release-notes/25.1.41.md index 40cc58e5e4..dae133a104 100644 --- a/ej2-asp-core-mvc/Release-notes/25.1.41.md +++ b/ej2-asp-core-mvc/Release-notes/25.1.41.md @@ -14,4 +14,5 @@ documentation: ug {% include {{file.url}} %} -{% enddirectory %} \ No newline at end of file +{% enddirectory %} + From ae6e7051217a53d5475524c63a70c2def31abaa0 Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Mon, 29 Apr 2024 16:03:37 +0530 Subject: [PATCH 130/134] 880498: commit --- .../annotation/free-text-annotation.md | 192 +++++++-- .../EJ2_ASP.MVC/annotation/ink-annotation.md | 164 ++++++-- .../annotation/measurement-annotation.md | 373 +++++++++++++++--- .../annotation/shape-annotation.md | 351 ++++++++++++++-- .../annotation/stamp-annotation.md | 235 ++++++++++- .../annotation/sticky-notes-annotation.md | 99 ++++- .../annotation/text-markup-annotation.md | 293 ++++++++++---- .../EJ2_ASP.NETCORE/annotation/comments.md | 1 - .../annotation/free-text-annotation.md | 135 ++++++- .../annotation/ink-annotation.md | 123 +++++- .../annotation/measurement-annotation.md | 292 +++++++++++++- .../annotation/shape-annotation.md | 290 ++++++++++++++ .../annotation/stamp-annotation.md | 248 +++++++++++- .../annotation/sticky-notes-annotation.md | 113 +++++- .../annotation/text-markup-annotation.md | 150 +++++++ 15 files changed, 2824 insertions(+), 235 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md index 4aabe85486..cdd5023067 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ej2-asp-core-mvc documentation: ug --- - # Free Text Annotation in the ASP.NET MVC PDF Viewer component The PDF Viewer control provides the options to add, edit, and delete the free text annotations. @@ -30,36 +29,163 @@ Refer to the following code sample to switch to the Free Text annotation mode. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - -``` + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} + +{% highlight html tabtitle="Server-Backed" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Adding a free text annotation programmatically to the PDF document + +The PDF Viewer library allows you to add the free text annotation in the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here is an example of how you can use the **addAnnotation()** method to move the free text annotation programmatically: + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + + {% endhighlight %} +{% endtabs %} + +## Change the content of an existing Free text annotation programmatically + +To change the content of an existing free text annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method to change the content of a free text annotation: + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - -``` + } + + {% endhighlight %} {% endtabs %} @@ -131,19 +257,17 @@ Refer to the following code sample to set the default free text annotation setti {% tabs %} {% highlight html tabtitle="Standalone" %} -```html
                                          @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").FreeTextSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerFreeTextSettings { FillColor = "green", BorderColor = "blue", FontColor = "yellow" }).Render()
                                          -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html
                                          @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").FreeTextSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerFreeTextSettings { FillColor = "green", BorderColor = "blue", FontColor = "yellow" }).Render()
                                          -``` + {% endhighlight %} {% endtabs %} @@ -151,17 +275,17 @@ You can also enable the autofit support for free text annotation by using the En {% tabs %} {% highlight html tabtitle="Standalone" %} -```html +
                                          @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").FreeTextSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerFreeTextSettings { EnableAutoFit = true }).Render()
                                          -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html +
                                          @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").FreeTextSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerFreeTextSettings { EnableAutoFit = true }).Render()
                                          -``` + {% endhighlight %} {% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md index 27b9aa24a6..eb7fc20d3c 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ##Platform_Name## documentation: ug --- - # Ink Annotation in the ASP.NET MVC PDF Viewer component The PDF Viewer control provides the options to add, edit, and delete the ink annotations. @@ -29,34 +28,149 @@ Refer to the following code sample to switch to the ink annotation mode. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Adding a Ink annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a Ink annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a Ink annotation programmatically + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing Ink annotation programmatically + +To modify existing Ink annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + + +
                                          + + +
                                          + -``` + } + } + + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - -``` + } + } + + {% endhighlight %} {% endtabs %} diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/measurement-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/measurement-annotation.md index 21bc9d875a..0eb15a3208 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/measurement-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/measurement-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ##Platform_Name## documentation: ug --- - # Measurement Annotation in the ASP.NET MVC PDF Viewer component The PDF Viewer provides the options to add measurement annotations. You can measure the page annotations with the help of measurement annotation. The supported measurement annotations in the PDF Viewer control are: @@ -38,34 +37,318 @@ Refer to the following code sample to switch to the distance annotation mode. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Adding a measurement annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a measurement annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a measurement annotation programmatically: + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + + + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + + + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing measurement annotation programmatically + +To modify existing measurement annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + + + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + -``` + } + function editAreaAnnotation() { + var viewer = document.getElementById('pdfviewer').ej2_instances[0]; + for (let i = 0; i < viewer.annotationCollection.length; i++) { + if (viewer.annotationCollection[i].subject === "Area calculation") { + viewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle" + viewer.annotationCollection[i].strokeColor = "#0000FF"; + viewer.annotationCollection[i].thickness = 2; + viewer.annotationCollection[i].fillColor = "#FFFF00"; + viewer.annotation.editAnnotation(viewer.annotationCollection[i]); + } + } + } + function editRadiusAnnotation() { + var viewer = document.getElementById('pdfviewer').ej2_instances[0]; + for (let i = 0; i < viewer.annotationCollection.length; i++) { + if (viewer.annotationCollection[i].subject === "Radius calculation") { + viewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle" + viewer.annotationCollection[i].strokeColor = "#0000FF"; + viewer.annotationCollection[i].thickness = 2; + viewer.annotationCollection[i].fillColor = "#FFFF00"; + viewer.annotation.editAnnotation(viewer.annotationCollection[i]); + } + } + } + function editVolumeAnnotation() { + var viewer = document.getElementById('pdfviewer').ej2_instances[0]; + for (let i = 0; i < viewer.annotationCollection.length; i++) { + if (viewer.annotationCollection[i].subject === "Volume calculation") { + viewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle" + viewer.annotationCollection[i].strokeColor = "#0000FF"; + viewer.annotationCollection[i].thickness = 2; + viewer.annotationCollection[i].fillColor = "#FFFF00"; + viewer.annotation.editAnnotation(viewer.annotationCollection[i]); + } + } + } + + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - -``` + } + function editAreaAnnotation() { + var viewer = document.getElementById('pdfviewer').ej2_instances[0]; + for (let i = 0; i < viewer.annotationCollection.length; i++) { + if (viewer.annotationCollection[i].subject === "Area calculation") { + viewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle" + viewer.annotationCollection[i].strokeColor = "#0000FF"; + viewer.annotationCollection[i].thickness = 2; + viewer.annotationCollection[i].fillColor = "#FFFF00"; + viewer.annotation.editAnnotation(viewer.annotationCollection[i]); + } + } + } + function editRadiusAnnotation() { + var viewer = document.getElementById('pdfviewer').ej2_instances[0]; + for (let i = 0; i < viewer.annotationCollection.length; i++) { + if (viewer.annotationCollection[i].subject === "Radius calculation") { + viewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle" + viewer.annotationCollection[i].strokeColor = "#0000FF"; + viewer.annotationCollection[i].thickness = 2; + viewer.annotationCollection[i].fillColor = "#FFFF00"; + viewer.annotation.editAnnotation(viewer.annotationCollection[i]); + } + } + } + function editVolumeAnnotation() { + var viewer = document.getElementById('pdfviewer').ej2_instances[0]; + for (let i = 0; i < viewer.annotationCollection.length; i++) { + if (viewer.annotationCollection[i].subject === "Volume calculation") { + viewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle" + viewer.annotationCollection[i].strokeColor = "#0000FF"; + viewer.annotationCollection[i].thickness = 2; + viewer.annotationCollection[i].fillColor = "#FFFF00"; + viewer.annotation.editAnnotation(viewer.annotationCollection[i]); + } + } + } + + {% endhighlight %} {% endtabs %} @@ -110,18 +393,18 @@ Refer to the following code sample to set the default annotation settings. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").DistanceSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerDistanceSettings { FillColor = "blue", Opacity = 0.6, StrokeColor = "green" }).PerimeterSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerPerimeterSettings { FillColor = "green", Opacity = 0.6, StrokeColor = "blue" }).AreaSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerAreaSettings { FillColor = "yellow", Opacity = 0.6, StrokeColor = "orange" }).RadiusSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerRadiusSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" }).VolumeSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerVolumeSettings { FillColor = "pink", Opacity = 0.6, StrokeColor = "yellow" }).Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").DistanceSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerDistanceSettings { FillColor = "blue", Opacity = 0.6, StrokeColor = "green" }).PerimeterSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerPerimeterSettings { FillColor = "green", Opacity = 0.6, StrokeColor = "blue" }).AreaSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerAreaSettings { FillColor = "yellow", Opacity = 0.6, StrokeColor = "orange" }).RadiusSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerRadiusSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" }).VolumeSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerVolumeSettings { FillColor = "pink", Opacity = 0.6, StrokeColor = "yellow" }).Render() +
                                          + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").DistanceSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerDistanceSettings { FillColor = "blue", Opacity = 0.6, StrokeColor = "green" }).PerimeterSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerPerimeterSettings { FillColor = "green", Opacity = 0.6, StrokeColor = "blue" }).AreaSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerAreaSettings { FillColor = "yellow", Opacity = 0.6, StrokeColor = "orange" }).RadiusSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerRadiusSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" }).VolumeSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerVolumeSettings { FillColor = "pink", Opacity = 0.6, StrokeColor = "yellow" }).Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").DistanceSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerDistanceSettings { FillColor = "blue", Opacity = 0.6, StrokeColor = "green" }).PerimeterSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerPerimeterSettings { FillColor = "green", Opacity = 0.6, StrokeColor = "blue" }).AreaSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerAreaSettings { FillColor = "yellow", Opacity = 0.6, StrokeColor = "orange" }).RadiusSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerRadiusSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" }).VolumeSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerVolumeSettings { FillColor = "pink", Opacity = 0.6, StrokeColor = "yellow" }).Render() +
                                          + {% endhighlight %} {% endtabs %} @@ -148,17 +431,17 @@ The properties of scale ratio for measurement annotation can be set before creat {% tabs %} {% highlight html tabtitle="Standalone" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").MeasurementSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerMeasurementSettings { ScaleRatio = 2, ConversionUnit = Syncfusion.EJ2.PdfViewer.CalibrationUnit.Cm }).Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").MeasurementSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerMeasurementSettings { ScaleRatio = 2, ConversionUnit = Syncfusion.EJ2.PdfViewer.CalibrationUnit.Cm }).Render() +
                                          + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").MeasurementSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerMeasurementSettings { ScaleRatio = 2, ConversionUnit = Syncfusion.EJ2.PdfViewer.CalibrationUnit.Cm }).Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").MeasurementSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerMeasurementSettings { ScaleRatio = 2, ConversionUnit = Syncfusion.EJ2.PdfViewer.CalibrationUnit.Cm }).Render() +
                                          + {% endhighlight %} {% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md index 905a930bd9..0471260424 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ##Platform_Name## documentation: ug --- - # Shape Annotation in the ASP.NET MVC PDF Viewer component The PDF Viewer control provides the options to add, edit, and delete the shape annotations. The shape annotation types supported in the PDF Viewer control are: @@ -38,34 +37,316 @@ Refer to the following code sample to switch to the circle annotation mode. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Adding a shape annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a shape annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a shape annotation programmatically: + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + + + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight html tabtitle="Server-Backed" %} + + + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing shape annotation programmatically + +To modify existing shape annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight html tabtitle="Standalone" %} + + + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + -``` + } + function editCircleAnnotation() { + var pdfviewer = document.getElementById('pdfviewer').ej2_instances[0]; + for (let i = 0; i < pdfviewer.annotationCollection.length; i++) { + if (pdfviewer.annotationCollection[i].subject === "Circle") { + pdfviewer.annotationCollection[i].strokeColor = "#0000FF"; + pdfviewer.annotationCollection[i].thickness = 2; + pdfviewer.annotationCollection[i].fillColor = "#FFFF00"; + pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle" + pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]); + } + } + } + function editPolygonAnnotation() { + var pdfviewer = document.getElementById('pdfviewer').ej2_instances[0]; + for (let i = 0; i < pdfviewer.annotationCollection.length; i++) { + if (pdfviewer.annotationCollection[i].subject === "Polygon") { + pdfviewer.annotationCollection[i].strokeColor = "#0000FF"; + pdfviewer.annotationCollection[i].thickness = 2; + pdfviewer.annotationCollection[i].fillColor = "#FFFF00"; + pdfviewer.annotationCollection[i].annotationSelectorSettings.resizerShape = "Circle" + pdfviewer.annotation.editAnnotation(pdfviewer.annotationCollection[i]); + } + } + } + + + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - -``` + } + + {% endhighlight %} {% endtabs %} @@ -111,17 +392,17 @@ The properties of the shape annotations can be set before creating the control u {% tabs %} {% highlight html tabtitle="Standalone" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").LineSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerLineSettings { FillColor = "blue", Opacity = 0.6, StrokeColor = "green" }).ArrowSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerArrowSettings { FillColor = "green", Opacity = 0.6, StrokeColor = "blue" }).RectangleSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerRectangleSettings { FillColor = "yellow", Opacity = 0.6, StrokeColor = "orange" }).CircleSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerCircleSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" }).PolygonSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerPolygonSettings { FillColor = "pink", Opacity = 0.6, StrokeColor = "yellow" }).Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").LineSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerLineSettings { FillColor = "blue", Opacity = 0.6, StrokeColor = "green" }).ArrowSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerArrowSettings { FillColor = "green", Opacity = 0.6, StrokeColor = "blue" }).RectangleSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerRectangleSettings { FillColor = "yellow", Opacity = 0.6, StrokeColor = "orange" }).CircleSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerCircleSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" }).PolygonSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerPolygonSettings { FillColor = "pink", Opacity = 0.6, StrokeColor = "yellow" }).Render() +
                                          + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").LineSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerLineSettings { FillColor = "blue", Opacity = 0.6, StrokeColor = "green" }).ArrowSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerArrowSettings { FillColor = "green", Opacity = 0.6, StrokeColor = "blue" }).RectangleSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerRectangleSettings { FillColor = "yellow", Opacity = 0.6, StrokeColor = "orange" }).CircleSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerCircleSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" }).PolygonSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerPolygonSettings { FillColor = "pink", Opacity = 0.6, StrokeColor = "yellow" }).Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").LineSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerLineSettings { FillColor = "blue", Opacity = 0.6, StrokeColor = "green" }).ArrowSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerArrowSettings { FillColor = "green", Opacity = 0.6, StrokeColor = "blue" }).RectangleSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerRectangleSettings { FillColor = "yellow", Opacity = 0.6, StrokeColor = "orange" }).CircleSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerCircleSettings { FillColor = "orange", Opacity = 0.6, StrokeColor = "pink" }).PolygonSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerPolygonSettings { FillColor = "pink", Opacity = 0.6, StrokeColor = "yellow" }).Render() +
                                          + {% endhighlight %} {% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md index 132b02f313..41720d900d 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ##Platform_Name## documentation: ug --- - # Stamp Annotation in the ASP.NET MVC PDF Viewer component The PDF Viewer control provides options to add, edit, delete, and rotate the following stamp annotation in the PDF documents: @@ -37,6 +36,63 @@ The stamp annotations can be added to the PDF document using the annotation tool In the pan mode, if the stamp annotation mode is entered, the PDF Viewer control will switch to text select mode. +Refer to the following code sample to switch to the stamp annotation mode. + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Adding custom stamp to the PDF document * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it. @@ -49,6 +105,174 @@ In the pan mode, if the stamp annotation mode is entered, the PDF Viewer control N>The JPG and JPEG image format is only supported in the custom stamp annotations. +## Adding a Stamp annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a Stamp annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a Stamp annotation programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing sticky note annotation programmatically + +To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + +{% endhighlight %} +{% endtabs %} + + ## Setting default properties during control initialization The properties of the stamp annotation can be set before creating the control using the StampSettings. @@ -58,17 +282,16 @@ Refer to the following code sample to set the default sticky note annotation set {% tabs %} {% highlight html tabtitle="Standalone" %} -```html +
                                          @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").StampSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerStampSettings { Opacity = 0.3, Author = "Guest User" }).Render() -
                                          -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html +
                                          @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").StampSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerStampSettings { Opacity = 0.3, Author = "Guest User" }).Render()
                                          -``` + {% endhighlight %} {% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/sticky-notes-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/sticky-notes-annotation.md index 70c4820957..c1faedb410 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/sticky-notes-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/sticky-notes-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ##Platform_Name## documentation: ug --- - # Sticky Notes Annotation in the ASP.NET MVC PDF Viewer component The PDF Viewer control provides the options to add, edit, and delete the sticky note annotations in the PDF document. @@ -34,6 +33,104 @@ Annotation comments can be added to the PDF document using the comment panel. ![StickyNotesComment](../images/stickynotes_comment.png) +## Adding a sticky note annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a sticky note annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a sticky note annotation programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing sticky note annotation programmatically + +To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Editing the properties of the sticky note annotation ### Editing opacity diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md index 3b5f4eb9f9..33e1b7f096 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ##Platform_Name## documentation: ug --- - # Text Markup Annotation in the ASP.NET MVC PDF Viewer component The PDF Viewer control provides the options to add, edit, and delete text markup annotations such as highlight, underline, and strikethrough annotations in the PDF document. @@ -40,7 +39,7 @@ Refer to the following code sample to switch to the highlight mode. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html +
                                          @@ -52,10 +51,10 @@ Refer to the following code sample to switch to the highlight mode. pdfViewer.annotation.setAnnotationMode('Highlight'); } -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html +
                                          @@ -67,7 +66,7 @@ Refer to the following code sample to switch to the highlight mode. pdfViewer.annotation.setAnnotationMode('Highlight'); } -``` + {% endhighlight %} {% endtabs %} @@ -75,7 +74,7 @@ Refer to the following code sample to switch back to normal mode from the highli {% tabs %} {% highlight html tabtitle="Standalone" %} -```html + @@ -94,10 +93,10 @@ Refer to the following code sample to switch back to normal mode from the highli pdfViewer.annotation.setAnnotationMode('None'); } -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html + @@ -116,10 +115,54 @@ Refer to the following code sample to switch back to normal mode from the highli pdfViewer.annotation.setAnnotationMode('None'); } -``` + {% endhighlight %} {% endtabs %} +## Highlight a text programmatically + +The PDF Viewer library enables you to programmatically highlight text within the PDF Viewer control using the **addAnnotation()** method. + +Here's an example of how you can use the **addAnnotation()** method to apply highlighting programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% endtabs %} + + ## Underline a text There are two ways to underline a text in the PDF document: @@ -145,7 +188,7 @@ Refer to the following code sample to switch to the underline mode. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html +
                                          @@ -157,10 +200,10 @@ Refer to the following code sample to switch to the underline mode. pdfViewer.annotation.setAnnotationMode('Underline'); } -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html +
                                          @@ -172,7 +215,7 @@ Refer to the following code sample to switch to the underline mode. pdfViewer.annotation.setAnnotationMode('Underline'); } -``` + {% endhighlight %} {% endtabs %} @@ -181,7 +224,6 @@ Refer to the following code sample to switch back to normal mode from the underl {% tabs %} {% highlight html tabtitle="Standalone" %} -```html @@ -200,11 +242,10 @@ Refer to the following code sample to switch back to normal mode from the underl pdfViewer.annotation.setAnnotationMode('None'); } -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html @@ -223,7 +264,50 @@ Refer to the following code sample to switch back to normal mode from the underl pdfViewer.annotation.setAnnotationMode('None'); } -``` + +{% endhighlight %} +{% endtabs %} + +## Underline a text programmatically + +The PDF Viewer library enables you to programmatically Underline text within the PDF Viewer control using the **addAnnotation()** method. + +Here's an example of how you can use the **addAnnotation()** method to apply Underline programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + {% endhighlight %} {% endtabs %} @@ -253,7 +337,7 @@ Refer to the following code sample to switch to the strikethrough mode. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html +
                                          @@ -265,11 +349,11 @@ Refer to the following code sample to switch to the strikethrough mode. pdfViewer.annotation.setAnnotationMode('Strikethrough'); } -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html +
                                          @@ -281,7 +365,7 @@ Refer to the following code sample to switch to the strikethrough mode. pdfViewer.annotation.setAnnotationMode('Strikethrough'); } -``` + {% endhighlight %} {% endtabs %} @@ -289,7 +373,7 @@ Refer to the following code sample to switch back to normal mode from the strike {% tabs %} {% highlight html tabtitle="Standalone" %} -```html + @@ -308,10 +392,10 @@ Refer to the following code sample to switch back to normal mode from the strike pdfViewer.annotation.setAnnotationMode('None'); } -``` + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html + @@ -330,7 +414,50 @@ Refer to the following code sample to switch back to normal mode from the strike pdfViewer.annotation.setAnnotationMode('None'); } -``` + +{% endhighlight %} +{% endtabs %} + +## Strikethrough a text programmatically + +The PDF Viewer library enables you to programmatically Strikethrough text within the PDF Viewer control using the **addAnnotation()** method. + +Here's an example of how you can use the **addAnnotation()** method to apply Strikethrough programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + {% endhighlight %} {% endtabs %} @@ -374,18 +501,18 @@ Refer to the following code sample to set the default annotation settings. {% tabs %} {% highlight html tabtitle="Standalone" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").HighlightSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerHighlightSettings{Author = "Guest User", Color = "#ffff00", Opacity = 0.9 }).UnderlineSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerUnderlineSettings{ Author = "Guest User", Color = "#00ffff", Opacity = 0.9 }).StrikethroughSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerStrikethroughSettings{ Author = "Guest User", Color = "#ff00ff", Opacity = 0.9, }).Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").HighlightSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerHighlightSettings{Author = "Guest User", Color = "#ffff00", Opacity = 0.9 }).UnderlineSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerUnderlineSettings{ Author = "Guest User", Color = "#00ffff", Opacity = 0.9 }).StrikethroughSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerStrikethroughSettings{ Author = "Guest User", Color = "#ff00ff", Opacity = 0.9, }).Render() +
                                          + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").HighlightSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerHighlightSettings{Author = "Guest User", Color = "#ffff00", Opacity = 0.9 }).UnderlineSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerUnderlineSettings{ Author = "Guest User", Color = "#00ffff", Opacity = 0.9 }).StrikethroughSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerStrikethroughSettings{ Author = "Guest User", Color = "#ff00ff", Opacity = 0.9, }).Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").HighlightSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerHighlightSettings{Author = "Guest User", Color = "#ffff00", Opacity = 0.9 }).UnderlineSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerUnderlineSettings{ Author = "Guest User", Color = "#00ffff", Opacity = 0.9 }).StrikethroughSettings(new Syncfusion.EJ2.PdfViewer.PdfViewerStrikethroughSettings{ Author = "Guest User", Color = "#ff00ff", Opacity = 0.9, }).Render() +
                                          + {% endhighlight %} {% endtabs %} @@ -408,48 +535,48 @@ Refer to the following code sample for calling undo and redo actions from the cl {% tabs %} {% highlight html tabtitle="Standalone" %} -```html - - - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - -``` + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html - - - - -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          - -``` + + + + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + + {% endhighlight %} {% endtabs %} @@ -467,17 +594,17 @@ The PDF Viewer control provides an option to disable the text markup annotation {% tabs %} {% highlight html tabtitle="Standalone" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").EnableTextMarkupAnnotation(false).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").EnableTextMarkupAnnotation(false).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + {% endhighlight %} {% highlight html tabtitle="Server-Backed" %} -```html -
                                          - @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).EnableTextMarkupAnnotation(false).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() -
                                          -``` + +
                                          + @Html.EJS().PdfViewer("pdfviewer").ServiceUrl(VirtualPathUtility.ToAbsolute("~/PdfViewer/")).EnableTextMarkupAnnotation(false).DocumentPath("https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf").Render() +
                                          + {% endhighlight %} {% endtabs %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md index 47c9fa0d8e..7deb56945c 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md @@ -8,7 +8,6 @@ publishingplatform: ##Platform_Name## documentation: ug --- - # Comments in the ASP.NET Core PDF Viewer component The PDF Viewer control provides options to add, edit, and delete the comments to the following annotation in the PDF documents: diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/free-text-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/free-text-annotation.md index f2965c1995..33da3ad20f 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/free-text-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/free-text-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ej2-asp-core-mvc documentation: ug --- - # Free Text Annotation in the ASP.NET Core PDF Viewer component The PDF Viewer control provides the options to add, edit, and delete the free text annotations. @@ -67,6 +66,140 @@ Refer to the following code sample to switch to the Free Text annotation mode. {% endhighlight %} {% endtabs %} +## Adding a free text annotation programmatically to the PDF document + +The PDF Viewer library allows you to add the free text annotation in the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here is an example of how you can use the **addAnnotation()** method to move the free text annotation programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Change the content of an existing Free text annotation programmatically + +To change the content of an existing free text annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method to change the content of a free text annotation: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Editing the properties of free text annotation The font family, font size, font styles, font color, text alignment, fill color, the border stroke color, border thickness, and opacity of the free text annotation can be edited using the Font Family tool, Font Size tool, Font Color tool, Text Align tool, Font Style tool Edit Color tool, Edit Stroke Color tool, Edit Thickness tool, and Edit Opacity tool in the annotation toolbar. diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md index 62110b924f..1ef91aaa70 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ej2-asp-core-mvc documentation: ug --- - # Ink Annotation in the ASP.NET Core PDF Viewer component The PDF Viewer control provides the options to add, edit, and delete the ink annotations. @@ -67,6 +66,128 @@ Refer to the following code sample to switch to the ink annotation mode. {% endhighlight %} {% endtabs %} +## Adding a Ink annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a Ink annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a Ink annotation programmatically + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing Ink annotation programmatically + +To modify existing Ink annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Editing the properties of the ink annotation The stroke color, thickness, and opacity of the ink annotation can be edited using the Edit stroke color tool, Edit thickness tool, and Edit opacity tool in the annotation toolbar. diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/measurement-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/measurement-annotation.md index 75bb386972..7f65fc1ccf 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/measurement-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/measurement-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ej2-asp-core-mvc documentation: ug --- - # Measurement Annotation in the ASP.NET Core PDF Viewer component The PDF Viewer provides the options to add measurement annotations. You can measure the page annotations with the help of measurement annotation. The supported measurement annotations in the PDF Viewer control are: @@ -73,6 +72,297 @@ Refer to the following code sample to switch to the distance annotation mode. } +{% endhighlight %} +{% endtabs %} + +## Adding a measurement annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a measurement annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a measurement annotation programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + + + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + + + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing measurement annotation programmatically + +To modify existing measurement annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + + + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + + + + +
                                          + + +
                                          + + + {% endhighlight %} {% endtabs %} diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md index deae576eaa..e6e03b17bf 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md @@ -75,6 +75,296 @@ Refer to the following code sample to switch to the circle annotation mode. {% endhighlight %} {% endtabs %} +## Adding a shape annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a shape annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a shape annotation programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + + + + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + + + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing shape annotation programmatically + +To modify existing shape annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + + + + +
                                          + + +
                                          + + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + + + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Editing the properties of the shape annotation The fill color, stroke color, thickness, and opacity of the shape annotation can be edited using the Edit color tool, Edit stroke color tool, Edit thickness tool, and Edit opacity tool in the annotation toolbar. diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md index cd93704c3f..f0eb2861d9 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ej2-asp-core-mvc documentation: ug --- - # Stamp Annotation in the ASP.NET Core PDF Viewer Control The PDF Viewer control provides options to add, edit, delete, and rotate the following stamp annotation in the PDF documents: @@ -37,6 +36,72 @@ The stamp annotations can be added to the PDF document using the annotation tool In the pan mode, if the stamp annotation mode is entered, the PDF Viewer control will switch to text select mode. +Refer to the following code sample to switch to the stamp annotation mode. + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + + + +
                                          + + +
                                          + + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + + + +
                                          + + +
                                          + + + +{% endhighlight %} +{% endtabs %} + ## Adding custom stamp to the PDF document * Click the **Edit Annotation** button in the PDF Viewer toolbar. A toolbar appears below it. @@ -49,6 +114,187 @@ In the pan mode, if the stamp annotation mode is entered, the PDF Viewer control N>The JPG and JPEG image format is only supported in the custom stamp annotations. +## Adding a Stamp annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a Stamp annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a Stamp annotation programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + + + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + + + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing sticky note annotation programmatically + +To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + +{% endhighlight %} +{% endtabs %} + ## Setting default properties during control initialization The properties of the stamp annotation can be set before creating the control using the StampSettings. diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md index a33e6c17f6..9fcadab8b5 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md @@ -8,7 +8,6 @@ publishingplatform: ej2-asp-core-mvc documentation: ug --- - # Sticky Notes Annotation in the ASP.NET Core PDF Viewer component The PDF Viewer control provides the options to add, edit, and delete the sticky note annotations in the PDF document. @@ -54,6 +53,118 @@ You can modify or delete the comments or comments replay and it’s status using ![StickyNotesEdit](../../pdfviewer/images/sticky_editbtn.png) +## Adding a sticky note annotation to the PDF document Programmatically + +With the PDF Viewer library, you can add a sticky note annotation to the PDF Viewer control programmatically using the **addAnnotation()** method. + +Here's a example of how you can utilize the **addAnnotation()** method to include a sticky note annotation programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + +## Edit the existing sticky note annotation programmatically + +To modify existing sticky note annotation in the Syncfusion PDF viewer programmatically, you can use the **editAnnotation()** method. + +Here is an example of how you can use the **editAnnotation()** method: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Setting default properties during the control initialization The properties of the sticky note annotation can be set before creating the control using the StickyNotesSettings. diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/text-markup-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/text-markup-annotation.md index cb47b36421..7c48ed733d 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/text-markup-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/text-markup-annotation.md @@ -135,6 +135,56 @@ Refer to the following code sample to switch back to normal mode from the highli {% endhighlight %} {% endtabs %} +## Highlight a text programmatically + +The PDF Viewer library enables you to programmatically highlight text within the PDF Viewer control using the **addAnnotation()** method. + +Here's an example of how you can use the **addAnnotation()** method to apply highlighting programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Underline a text There are two ways to underline a text in the PDF document: @@ -256,6 +306,56 @@ Refer to the following code sample to switch back to normal mode from the underl {% endhighlight %} {% endtabs %} +## Underline a text programmatically + +The PDF Viewer library enables you to programmatically Underline text within the PDF Viewer control using the **addAnnotation()** method. + +Here's an example of how you can use the **addAnnotation()** method to apply Underline programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Strikethrough a text There are two ways to strikethrough a text in the PDF document: @@ -377,6 +477,56 @@ Refer to the following code sample to switch back to normal mode from the strike {% endhighlight %} {% endtabs %} +## Strikethrough a text programmatically + +The PDF Viewer library enables you to programmatically Strikethrough text within the PDF Viewer control using the **addAnnotation()** method. + +Here's an example of how you can use the **addAnnotation()** method to apply Strikethrough programmatically: + +{% tabs %} +{% highlight cshtml tabtitle="Standalone" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% highlight cshtml tabtitle="Server-Backed" %} + + +
                                          + + +
                                          + + +{% endhighlight %} +{% endtabs %} + ## Deleting a text markup annotation The selected annotation can be deleted in the following ways: From b0ad95ae5f8b52770abf021ef454a37feecae95b Mon Sep 17 00:00:00 2001 From: SaravanaPriya31 Date: Mon, 29 Apr 2024 18:08:44 +0530 Subject: [PATCH 131/134] 880498: commit --- ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/comments.md | 4 ++-- .../pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md | 2 +- .../pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md | 4 ++-- .../EJ2_ASP.MVC/annotation/measurement-annotation.md | 4 ++-- .../pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md | 4 ++-- .../pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md | 4 ++-- .../EJ2_ASP.MVC/annotation/sticky-notes-annotation.md | 4 ++-- .../EJ2_ASP.MVC/annotation/text-markup-annotation.md | 2 +- .../pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md | 4 ++-- .../EJ2_ASP.NETCORE/annotation/free-text-annotation.md | 2 +- .../pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md | 2 +- .../EJ2_ASP.NETCORE/annotation/measurement-annotation.md | 2 +- .../pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md | 2 +- .../pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md | 2 +- .../EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md | 2 +- .../EJ2_ASP.NETCORE/annotation/text-markup-annotation.md | 2 +- 16 files changed, 23 insertions(+), 23 deletions(-) diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/comments.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/comments.md index 8abd02e3c5..4545497e05 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/comments.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/comments.md @@ -1,7 +1,7 @@ --- layout: post -title: Comments in ##Platform_Name## Pdfviewer Component -description: Learn here all about Comments in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. +title: Comments in ##Platform_Name## PDF Viewer Component | Syncfusion +description: Learn here all about Comments in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Comments publishingplatform: ##Platform_Name## diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md index cdd5023067..d915c57937 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/free-text-annotation.md @@ -4,7 +4,7 @@ title: Free Text Annotation in EJ2 ASP.NET MVC PDF Viewer | Syncfusion description: Learn here all about Free Text Annotation in ASP.NET MVC PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Free Text Annotation -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md index eb7fc20d3c..e04cf250ef 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/ink-annotation.md @@ -1,7 +1,7 @@ --- layout: post -title: Ink Annotation in ##Platform_Name## Pdfviewer Component -description: Learn here all about Ink Annotation in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. +title: Ink Annotation in ##Platform_Name## PDF Viewer Component | Syncfusion +description: Learn here all about Ink Annotation in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Ink Annotation publishingplatform: ##Platform_Name## diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/measurement-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/measurement-annotation.md index 0eb15a3208..fdfa40393e 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/measurement-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/measurement-annotation.md @@ -1,7 +1,7 @@ --- layout: post -title: Measurement Annotation in ##Platform_Name## Pdfviewer Component -description: Learn here all about Measurement Annotation in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. +title: Measurement Annotation in ##Platform_Name## PDF Viewer Component | Syncfusion +description: Learn here all about Measurement Annotation in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Measurement Annotation publishingplatform: ##Platform_Name## diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md index 0471260424..11977a05e8 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/shape-annotation.md @@ -1,7 +1,7 @@ --- layout: post -title: Shape Annotation in ##Platform_Name## Pdfviewer Component -description: Learn here all about Shape Annotation in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. +title: Shape Annotation in ##Platform_Name## PDF Viewer Component | Syncfusion +description: Learn here all about Shape Annotation in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Shape Annotation publishingplatform: ##Platform_Name## diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md index 41720d900d..41ac4561fa 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/stamp-annotation.md @@ -1,7 +1,7 @@ --- layout: post -title: Stamp Annotation in ##Platform_Name## Pdfviewer Component -description: Learn here all about Stamp Annotation in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. +title: Stamp Annotation in ##Platform_Name## PDF Viewer Component | Syncfusion +description: Learn here all about Stamp Annotation in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Stamp Annotation publishingplatform: ##Platform_Name## diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/sticky-notes-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/sticky-notes-annotation.md index c1faedb410..c77c5f6063 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/sticky-notes-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/sticky-notes-annotation.md @@ -1,7 +1,7 @@ --- layout: post -title: Sticky Notes Annotation in ##Platform_Name## Pdfviewer Component -description: Learn here all about Sticky Notes Annotation in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. +title: Sticky Notes Annotation in ##Platform_Name## PDF Viewer Component | Syncfusion +description: Learn here all about Sticky Notes Annotation in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Sticky Notes Annotation publishingplatform: ##Platform_Name## diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md index 33e1b7f096..1db28414c6 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.MVC/annotation/text-markup-annotation.md @@ -1,6 +1,6 @@ --- layout: post -title: Text Markup Annotation Support in ##Platform_Name## Pdfviewer Component | Syncfusion +title: Text Markup Annotation Support in ##Platform_Name## PDF Viewer Component | Syncfusion description: Learn here all about Text Markup Annotation in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Text Markup Annotation diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md index 7deb56945c..09b461d471 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/comments.md @@ -1,7 +1,7 @@ --- layout: post -title: Comments in ##Platform_Name## Pdfviewer Component -description: Learn here all about Comments in Syncfusion ##Platform_Name## Pdfviewer component of Syncfusion Essential JS 2 and more. +title: Comments in ##Platform_Name## PDF Viewer Component | Syncfusion +description: Learn here all about Comments in Syncfusion ##Platform_Name## PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Comments publishingplatform: ##Platform_Name## diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/free-text-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/free-text-annotation.md index 33da3ad20f..39abd99c1d 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/free-text-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/free-text-annotation.md @@ -4,7 +4,7 @@ title: Free Text Annotation in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about Free Text Annotation in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Free Text Annotation -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md index 1ef91aaa70..7f48558926 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/ink-annotation.md @@ -4,7 +4,7 @@ title: Ink Annotation in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about Ink Annotation in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Ink Annotation -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/measurement-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/measurement-annotation.md index 7f65fc1ccf..9acf3f9ff6 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/measurement-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/measurement-annotation.md @@ -4,7 +4,7 @@ title: Measurement Annotation in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about Measurement Annotation in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Measurement Annotation -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md index e6e03b17bf..c137d4610b 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/shape-annotation.md @@ -4,7 +4,7 @@ title: Shape Annotation in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about Shape Annotation in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Shape Annotation -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md index f0eb2861d9..cf15dccb73 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/stamp-annotation.md @@ -4,7 +4,7 @@ title: Stamp Annotation in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about Stamp Annotation in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Stamp Annotation -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md index 9fcadab8b5..a3e7d84884 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/sticky-notes-annotation.md @@ -4,7 +4,7 @@ title: Sticky Notes Annotation in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about Sticky Notes Annotation in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Sticky Notes Annotation -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- diff --git a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/text-markup-annotation.md b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/text-markup-annotation.md index 7c48ed733d..451a76fd9d 100644 --- a/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/text-markup-annotation.md +++ b/ej2-asp-core-mvc/pdfviewer/EJ2_ASP.NETCORE/annotation/text-markup-annotation.md @@ -4,7 +4,7 @@ title: Text Markup Annotation in EJ2 ASP.NET CORE PDF Viewer | Syncfusion description: Learn here all about Text Markup Annotation in ASP.NET CORE PDF Viewer component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Text Markup Annotation -publishingplatform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## documentation: ug --- From 4001b81fc17b4ef6150238fe51e20aee19269798 Mon Sep 17 00:00:00 2001 From: Deepak Raj Sundar Date: Mon, 29 Apr 2024 21:08:59 +0530 Subject: [PATCH 132/134] IN-182354 Added the release notes MD file for 25.1.42 and corresponding node entry in the TOC.html file --- ej2-asp-core-mvc/Release-notes/25.1.42.md | 17 +++++++++++++++++ ej2-asp-core-toc.html | 2 +- ej2-asp-mvc-toc.html | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 ej2-asp-core-mvc/Release-notes/25.1.42.md diff --git a/ej2-asp-core-mvc/Release-notes/25.1.42.md b/ej2-asp-core-mvc/Release-notes/25.1.42.md new file mode 100644 index 0000000000..8f07b5dbd3 --- /dev/null +++ b/ej2-asp-core-mvc/Release-notes/25.1.42.md @@ -0,0 +1,17 @@ +--- +title: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +description: Essential Studio for ##Platform_Name## 2023 Weekly Nuget Release Release Notes +platform: ej2-asp-core-mvc +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Essential Studio for ##Platform_Name## Release Notes + +{% include release-info.html date="April 30, 2024" version="v25.1.42" %} + +{% directory path: _includes/release-notes/v25.1.42 %} + +{% include {{file.url}} %} + +{% enddirectory %} diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index 934fc10388..a01de643eb 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -2960,7 +2960,7 @@
                                      • Release Notes -