smart-webcomponents-angular
Version:
[](https://jqwidgets.com/license/)
1 lines • 58.8 kB
Source Map (JSON)
{"version":3,"file":"smart-webcomponents-angular-ribbon.mjs","sources":["../../ribbon/src/smart.element.ts","../../ribbon/src/smart.ribbon.ts","../../ribbon/src/smart.ribbontab.ts","../../ribbon/src/smart.ribbongroup.ts","../../ribbon/src/smart.ribbonitem.ts","../../ribbon/src/smart.ribbon.module.ts","../../ribbon/src/smart-webcomponents-angular-ribbon.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n Smart: any;\n}\n}\n\n\nimport { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';\nimport { ElementRenderMode } from './../index';\n\n@Directive()\nexport class BaseElement {\n constructor(ref: ElementRef) {\n const that = this;\n this.nativeElement = ref.nativeElement as any;\n\n that.nativeElement.onAttached = () => {\n that.onAttach.emit(that.nativeElement);\n }\n\n that.nativeElement.onDetached = () => {\n that.onDetach.emit(that.nativeElement);\n }\n }\n\n @Output() onCreate: EventEmitter<any> = new EventEmitter();\n @Output() onReady: EventEmitter<any> = new EventEmitter();\n @Output() onAttach: EventEmitter<any> = new EventEmitter();\n @Output() onDetach: EventEmitter<any> = new EventEmitter();\n\n public nativeElement: any;\n\n public addEventListener(type: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions = false): void {\n this.nativeElement.addEventListener(type, listener, options);\n\t}\n\n\tpublic removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions = false): void {\n\t\tthis.nativeElement.removeEventListener(type, listener, options);\n\t}\n\n\tpublic dispatchEvent(event: Event): boolean {\n\t\treturn this.nativeElement.dispatchEvent(event);\n\t}\n\n\tpublic blur(): void {\n\t\tthis.nativeElement.blur();\n\t}\n\n\tpublic click(): void {\n\t\tthis.nativeElement.click();\n\t}\n\n\tpublic focus(options?: FocusOptions): void {\n\t\tthis.nativeElement.focus(options);\n\t}\n\n/** @description Sets or gets the license. */\n\t@Input()\n\tget license(): string {\n\t\treturn this.nativeElement ? this.nativeElement.license : undefined;\n\t}\n\tset license(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.license = value : undefined;\n\t}\n\t\n/** @description Sets or gets the language. Used in conjunction with the property messages. */\n\t@Input()\n\tget locale(): string {\n\t\treturn this.nativeElement ? this.nativeElement.locale : undefined;\n\t}\n\tset locale(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.locale = value : undefined;\n\t}\n\n\t/** @description Callback used to customize the format of the messages that are returned from the Localization Module. */\n\t@Input()\n\tget localizeFormatFunction(): any {\n\t\treturn this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;\n\t}\n\tset localizeFormatFunction(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;\n\t}\n\n\t/** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */\n\t@Input()\n\tget messages(): any {\n\t\treturn this.nativeElement ? this.nativeElement.messages : undefined;\n\t}\n\tset messages(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.messages = value : undefined;\n\t}\n\n\t/** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */\n\t@Input()\n\tget rightToLeft(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.rightToLeft : undefined;\n\t}\n\tset rightToLeft(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.rightToLeft = value : undefined;\n\t}\n\n\t/** @description Determines the theme. Theme defines the look of the element */\n\t@Input()\n\tget theme(): string {\n\t\treturn this.nativeElement ? this.nativeElement.theme : undefined;\n\t}\n\tset theme(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.theme = value : undefined;\n\t}\n}\n\nlet Smart: any;\nif (typeof window !== \"undefined\") {\n\tSmart = window.Smart;\n}\nexport { Smart };\n\n","import { Ribbon } from './../index';\nimport { RibbonFileMenuPosition, RibbonFileMenuType, RibbonFileMenu, ElementRenderMode} from './../index';\nimport { Component, Directive, AfterViewInit, ElementRef, Input, OnInit, OnChanges, OnDestroy, SimpleChanges, Output, EventEmitter, QueryList, ContentChildren } from '@angular/core';\nimport { BaseElement, Smart } from './smart.element';\nexport { RibbonFileMenuPosition, RibbonFileMenuType, RibbonFileMenu, ElementRenderMode} from './../index';\nexport { Smart } from './smart.element';\nexport { Ribbon } from './../index';\n\n\nimport { RibbonTabComponent } from './smart.ribbontab';\n\nimport { RibbonGroupComponent } from './smart.ribbongroup';\n\nimport { RibbonItemComponent } from './smart.ribbonitem';\n\n@Directive({\n\texportAs: 'smart-ribbon',\tselector: 'smart-ribbon, [smart-ribbon]'\n})\n\nexport class RibbonComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n\n\tconstructor(ref: ElementRef<Ribbon>) {\n\t\tsuper(ref);\n\t\tthis.nativeElement = ref.nativeElement as Ribbon;\n\t}\n\n\tprivate eventHandlers: any[] = [];\n\n\tpublic declare nativeElement: Ribbon;\n\t/** @description Creates the component on demand.\n\t * @param properties An optional object of properties, which will be added to the template binded ones.\n\t */\n\tpublic createComponent(properties = {}): any {\n \tthis.nativeElement = <Ribbon>document.createElement('smart-ribbon');\n\t\tfor (let propertyName in properties) { \n \t\t\tthis.nativeElement[propertyName] = properties[propertyName];\n\t\t}\n\t\treturn this.nativeElement;\n\t}\n\t/** @description Determines whether the ribbon is collapsible. */\n\t@Input()\n\tget collapsible(): any {\n\t\treturn this.nativeElement ? this.nativeElement.collapsible : undefined;\n\t}\n\tset collapsible(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.collapsible = value : undefined;\n\t}\n\n\t/** @description Determines the tab items of the ribbon. */\n\t@Input()\n\tget dataSource(): any {\n\t\treturn this.nativeElement ? this.nativeElement.dataSource : undefined;\n\t}\n\tset dataSource(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.dataSource = value : undefined;\n\t}\n\n\t/** @description Sets or gets the value indicating whether the element is disabled. */\n\t@Input()\n\tget disabled(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.disabled : undefined;\n\t}\n\tset disabled(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.disabled = value : undefined;\n\t}\n\n\t/** @description Determines the file menu options of the ribbon. */\n\t@Input()\n\tget fileMenu(): RibbonFileMenu {\n\t\treturn this.nativeElement ? this.nativeElement.fileMenu : undefined;\n\t}\n\tset fileMenu(value: RibbonFileMenu) {\n\t\tthis.nativeElement ? this.nativeElement.fileMenu = value : undefined;\n\t}\n\n\t/** @description Sets or gets the unlockKey which unlocks the product. */\n\t@Input()\n\tget unlockKey(): string {\n\t\treturn this.nativeElement ? this.nativeElement.unlockKey : undefined;\n\t}\n\tset unlockKey(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.unlockKey = value : undefined;\n\t}\n\n\t/** @description Determines the locale of the ribbon. */\n\t@Input()\n\tget locale(): string {\n\t\treturn this.nativeElement ? this.nativeElement.locale : undefined;\n\t}\n\tset locale(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.locale = value : undefined;\n\t}\n\n\t/** @description Determines the messages of the ribbon */\n\t@Input()\n\tget messages(): any {\n\t\treturn this.nativeElement ? this.nativeElement.messages : undefined;\n\t}\n\tset messages(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.messages = value : undefined;\n\t}\n\n\t/** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */\n\t@Input()\n\tget rightToLeft(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.rightToLeft : undefined;\n\t}\n\tset rightToLeft(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.rightToLeft = value : undefined;\n\t}\n\n\t/** @description Determines the selected tab. */\n\t@Input()\n\tget selectedTab(): any {\n\t\treturn this.nativeElement ? this.nativeElement.selectedTab : undefined;\n\t}\n\tset selectedTab(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.selectedTab = value : undefined;\n\t}\n\n\t/** @description This event is triggered when the ribbon is collapsed.\n\t* @param event. The custom event. \t*/\n\t@Output() onCollapse: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the ribbon is collapsing. The event can be canceled by calling event.preventDefault() in the event handler function.\n\t* @param event. The custom event. \t*/\n\t@Output() onCollapsing: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the dialog launcher is clicked.\n\t* @param event. The custom event. \tCustom event was created with: event.detail(\tgroupLabel, \tgroupId)\n\t* groupLabel - The label of the dialog launcher's ribbon group.\n\t* groupId - The id of the dialog launcher's ribbon group.\n\t*/\n\t@Output() onDialogLauncherClick: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the ribbon is expanded.\n\t* @param event. The custom event. \t*/\n\t@Output() onExpand: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the ribbon is expanding. The event can be canceled by calling event.preventDefault() in the event handler function.\n\t* @param event. The custom event. \t*/\n\t@Output() onExpanding: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the file menu button is clicked.\n\t* @param event. The custom event. \t*/\n\t@Output() onFileButtonClick: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the file menu is opened.\n\t* @param event. The custom event. \t*/\n\t@Output() onFileMenuOpen: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the file menu is closed.\n\t* @param event. The custom event. \t*/\n\t@Output() onFileMenuClose: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when a file menu item is clicked.\n\t* @param event. The custom event. \tCustom event was created with: event.detail(\titem)\n\t* item - The file menu item.\n\t*/\n\t@Output() onFileMenuItemClick: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the tab selection is changed.\n\t* @param event. The custom event. \tCustom event was created with: event.detail(\toldIndex, \tindex)\n\t* oldIndex - The previous tab index.\n\t* index - The new index of the selected tab.\n\t*/\n\t@Output() onSelect: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the tab selection is changing. The event can be canceled by calling event.preventDefault() in the event handler function.\n\t* @param event. The custom event. \tCustom event was created with: event.detail(\toldIndex, \tindex)\n\t* oldIndex - The previous tab index.\n\t* index - The new index of the selected tab.\n\t*/\n\t@Output() onSelecting: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description Adds a new ribbon tab to the ribbon. The tab can be added as an object, HTMLElement or id to an HTMLElement. \n\t* @param {any} tab. The ribbon tab to be added.\n\t*/\n public addTab(tab: any): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.addTab(tab);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.addTab(tab);\n });\n }\n }\n\n\t/** @description Adds a new group to a ribbon tab. The group can be added as an object, HTMLElement or id to an HTMLElement. \n\t* @param {any} tab. The id, index or HTMLElement of the parent ribbon tab.\n\t* @param {any} group. The ribbon group to be added.\n\t*/\n public addGroup(tab: any, group: any): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.addGroup(tab, group);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.addGroup(tab, group);\n });\n }\n }\n\n\t/** @description Adds a new ribbon item to a ribbon group. The item can be added as an object, HTMLElement or id to an HTMLElement. \n\t* @param {string | number | HTMLElement} tab. The id, index or HTMLElement of the parent ribbon tab.\n\t* @param {string | HTMLElement} group. The id or HTMLElement of the parent ribbon group.\n\t* @param {any} item. The ribbon item to be added.\n\t*/\n public addItem(tab: string | number | HTMLElement, group: string | HTMLElement, item: any): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.addItem(tab, group, item);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.addItem(tab, group, item);\n });\n }\n }\n\n\t/** @description Collapses the ribbon. \n\t*/\n public collapse(): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.collapse();\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.collapse();\n });\n }\n }\n\n\t/** @description Expands the ribbon. \n\t*/\n public expand(): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.expand();\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.expand();\n });\n }\n }\n\n\t/** @description Removes a ribbon tab from the ribbon. \n\t* @param {string | number} ribbonTab. The id or index of the ribbon tab to be removed.\n\t*/\n public removeTab(ribbonTab: string | number): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.removeTab(ribbonTab);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.removeTab(ribbonTab);\n });\n }\n }\n\n\t/** @description Removes a ribbon group from a ribbon tab. \n\t* @param {string | number} ribbonTabIndex?. The id or index of the parent ribbon tab.\n\t* @param {string | number} ribbonGroup?. The id or index of the ribbon group to be removed.\n\t*/\n public removeGroup(ribbonTabIndex?: string | number, ribbonGroup?: string | number): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.removeGroup(ribbonTabIndex, ribbonGroup);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.removeGroup(ribbonTabIndex, ribbonGroup);\n });\n }\n }\n\n\t/** @description Removes a ribbon item from a ribbon group. \n\t* @param {string | number} ribbonTabIndex?. The id or index of the parent ribbon tab.\n\t* @param {string | number} ribbonGroup?. The id or index of the parent ribbon group.\n\t* @param {string | number} ribbonItem?. The id or index of the ribbon item to be removed.\n\t*/\n public removeItem(ribbonTabIndex?: string | number, ribbonGroup?: string | number, ribbonItem?: string | number): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.removeItem(ribbonTabIndex, ribbonGroup, ribbonItem);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.removeItem(ribbonTabIndex, ribbonGroup, ribbonItem);\n });\n }\n }\n\n\t/** @description Selects a ribbon tab. \n\t* @param {string | number} ribbonTabIndex. The index of the ribbon tab to be selected.\n\t*/\n public selectTab(ribbonTabIndex: string | number): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.selectTab(ribbonTabIndex);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.selectTab(ribbonTabIndex);\n });\n }\n }\n\n\n\tget isRendered(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.isRendered : false;\n\t}\n\n\tngOnInit() {\n\t}\n\n ngAfterViewInit() {\n const that = this;\n\n that.onCreate.emit(that.nativeElement);\n\n\t\tif (Smart) Smart.Render();\n\n\t\tthis.nativeElement.classList.add('smart-angular');\n\n\t\tif (this.nativeElement.whenRendered) this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });\n\t\tthis.listen();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.unlisten();\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.nativeElement && this.nativeElement.isRendered) {\n\t\t\tfor (const propName in changes) {\n\t\t\t\tif (changes.hasOwnProperty(propName)) {\n\t\t\t\t\tthis.nativeElement[propName] = changes[propName].currentValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @description Add event listeners. */\n\tprivate listen(): void {\n const that = this;\n\t\tthat.eventHandlers['collapseHandler'] = (event: CustomEvent) => { that.onCollapse.emit(event); }\n\t\tthat.nativeElement.addEventListener('collapse', that.eventHandlers['collapseHandler']);\n\n\t\tthat.eventHandlers['collapsingHandler'] = (event: CustomEvent) => { that.onCollapsing.emit(event); }\n\t\tthat.nativeElement.addEventListener('collapsing', that.eventHandlers['collapsingHandler']);\n\n\t\tthat.eventHandlers['dialogLauncherClickHandler'] = (event: CustomEvent) => { that.onDialogLauncherClick.emit(event); }\n\t\tthat.nativeElement.addEventListener('dialogLauncherClick', that.eventHandlers['dialogLauncherClickHandler']);\n\n\t\tthat.eventHandlers['expandHandler'] = (event: CustomEvent) => { that.onExpand.emit(event); }\n\t\tthat.nativeElement.addEventListener('expand', that.eventHandlers['expandHandler']);\n\n\t\tthat.eventHandlers['expandingHandler'] = (event: CustomEvent) => { that.onExpanding.emit(event); }\n\t\tthat.nativeElement.addEventListener('expanding', that.eventHandlers['expandingHandler']);\n\n\t\tthat.eventHandlers['fileButtonClickHandler'] = (event: CustomEvent) => { that.onFileButtonClick.emit(event); }\n\t\tthat.nativeElement.addEventListener('fileButtonClick', that.eventHandlers['fileButtonClickHandler']);\n\n\t\tthat.eventHandlers['fileMenuOpenHandler'] = (event: CustomEvent) => { that.onFileMenuOpen.emit(event); }\n\t\tthat.nativeElement.addEventListener('fileMenuOpen', that.eventHandlers['fileMenuOpenHandler']);\n\n\t\tthat.eventHandlers['fileMenuCloseHandler'] = (event: CustomEvent) => { that.onFileMenuClose.emit(event); }\n\t\tthat.nativeElement.addEventListener('fileMenuClose', that.eventHandlers['fileMenuCloseHandler']);\n\n\t\tthat.eventHandlers['fileMenuItemClickHandler'] = (event: CustomEvent) => { that.onFileMenuItemClick.emit(event); }\n\t\tthat.nativeElement.addEventListener('fileMenuItemClick', that.eventHandlers['fileMenuItemClickHandler']);\n\n\t\tthat.eventHandlers['selectHandler'] = (event: CustomEvent) => { that.onSelect.emit(event); }\n\t\tthat.nativeElement.addEventListener('select', that.eventHandlers['selectHandler']);\n\n\t\tthat.eventHandlers['selectingHandler'] = (event: CustomEvent) => { that.onSelecting.emit(event); }\n\t\tthat.nativeElement.addEventListener('selecting', that.eventHandlers['selectingHandler']);\n\n\t}\n\n\t/** @description Remove event listeners. */\n\tprivate unlisten(): void {\n const that = this;\n\t\tif (that.eventHandlers['collapseHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('collapse', that.eventHandlers['collapseHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['collapsingHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('collapsing', that.eventHandlers['collapsingHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['dialogLauncherClickHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('dialogLauncherClick', that.eventHandlers['dialogLauncherClickHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['expandHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('expand', that.eventHandlers['expandHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['expandingHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('expanding', that.eventHandlers['expandingHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['fileButtonClickHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('fileButtonClick', that.eventHandlers['fileButtonClickHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['fileMenuOpenHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('fileMenuOpen', that.eventHandlers['fileMenuOpenHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['fileMenuCloseHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('fileMenuClose', that.eventHandlers['fileMenuCloseHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['fileMenuItemClickHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('fileMenuItemClick', that.eventHandlers['fileMenuItemClickHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['selectHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('select', that.eventHandlers['selectHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['selectingHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('selecting', that.eventHandlers['selectingHandler']);\n\t\t}\n\n\t}\n}\n","import { RibbonTab } from './../index';\nimport { ElementRenderMode} from './../index';\nimport { Component, Directive, AfterViewInit, ElementRef, Input, OnInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\nimport { BaseElement, Smart } from './smart.element';\nexport { ElementRenderMode} from './../index';\nexport { Smart } from './smart.element';\nexport { RibbonTab } from './../index';\n\n\n@Directive({\n\texportAs: 'smart-ribbon-tab',\tselector: 'smart-ribbon-tab, [smart-ribbon-tab]'\n})\n\nexport class RibbonTabComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n\tconstructor(ref: ElementRef<RibbonTab>) {\n\t\tsuper(ref);\n\t\tthis.nativeElement = ref.nativeElement as RibbonTab;\n\t}\n\n\tprivate eventHandlers: any[] = [];\n\n\tpublic declare nativeElement: RibbonTab;\n\t/** @description Creates the component on demand.\n\t * @param properties An optional object of properties, which will be added to the template binded ones.\n\t */\n\tpublic createComponent(properties = {}): any {\n \tthis.nativeElement = <RibbonTab>document.createElement('smart-ribbon-tab');\n\t\tfor (let propertyName in properties) { \n \t\t\tthis.nativeElement[propertyName] = properties[propertyName];\n\t\t}\n\t\treturn this.nativeElement;\n\t}\n\t/** @description Determines whether the tab item is disabled. */\n\t@Input()\n\tget disabled(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.disabled : undefined;\n\t}\n\tset disabled(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.disabled = value : undefined;\n\t}\n\n\t/** @description Determines the label of the tab item. */\n\t@Input()\n\tget label(): string {\n\t\treturn this.nativeElement ? this.nativeElement.label : undefined;\n\t}\n\tset label(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.label = value : undefined;\n\t}\n\n\t/** @description Determines whether the tab item is selected. */\n\t@Input()\n\tget selected(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.selected : undefined;\n\t}\n\tset selected(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.selected = value : undefined;\n\t}\n\n\t/** @description Determines the ribbon group of the tab item */\n\t@Input()\n\tget ribbonGroups(): any {\n\t\treturn this.nativeElement ? this.nativeElement.ribbonGroups : undefined;\n\t}\n\tset ribbonGroups(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.ribbonGroups = value : undefined;\n\t}\n\n\n\tget isRendered(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.isRendered : false;\n\t}\n\n\tngOnInit() {\n\t}\n\n ngAfterViewInit() {\n const that = this;\n\n that.onCreate.emit(that.nativeElement);\n\n\t\tthis.nativeElement.classList.add('smart-angular');\n\n\t\tif (this.nativeElement.whenRendered) this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });\n\t}\n\n\tngOnDestroy() {\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.nativeElement && this.nativeElement.isRendered) {\n\t\t\tfor (const propName in changes) {\n\t\t\t\tif (changes.hasOwnProperty(propName)) {\n\t\t\t\t\tthis.nativeElement[propName] = changes[propName].currentValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n}\n","import { RibbonGroup } from './../index';\nimport { RibbonGroupDirection, RibbonGroupWrapSize, RibbonGroupDialogLauncher, ElementRenderMode} from './../index';\nimport { Component, Directive, AfterViewInit, ElementRef, Input, OnInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\nimport { BaseElement, Smart } from './smart.element';\nexport { RibbonGroupDirection, RibbonGroupWrapSize, RibbonGroupDialogLauncher, ElementRenderMode} from './../index';\nexport { Smart } from './smart.element';\nexport { RibbonGroup } from './../index';\n\n\n@Directive({\n\texportAs: 'smart-ribbon-group',\tselector: 'smart-ribbon-group, [smart-ribbon-group]'\n})\n\nexport class RibbonGroupComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n\tconstructor(ref: ElementRef<RibbonGroup>) {\n\t\tsuper(ref);\n\t\tthis.nativeElement = ref.nativeElement as RibbonGroup;\n\t}\n\n\tprivate eventHandlers: any[] = [];\n\n\tpublic declare nativeElement: RibbonGroup;\n\t/** @description Creates the component on demand.\n\t * @param properties An optional object of properties, which will be added to the template binded ones.\n\t */\n\tpublic createComponent(properties = {}): any {\n \tthis.nativeElement = <RibbonGroup>document.createElement('smart-ribbon-group');\n\t\tfor (let propertyName in properties) { \n \t\t\tthis.nativeElement[propertyName] = properties[propertyName];\n\t\t}\n\t\treturn this.nativeElement;\n\t}\n\t/** @description Determines the label of the ribbon group. */\n\t@Input()\n\tget label(): string {\n\t\treturn this.nativeElement ? this.nativeElement.label : undefined;\n\t}\n\tset label(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.label = value : undefined;\n\t}\n\n\t/** @description Determines the icon of the ribbon group. */\n\t@Input()\n\tget icon(): string {\n\t\treturn this.nativeElement ? this.nativeElement.icon : undefined;\n\t}\n\tset icon(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.icon = value : undefined;\n\t}\n\n\t/** @description Determines the class of the ribbon group. */\n\t@Input()\n\tget cssClass(): string {\n\t\treturn this.nativeElement ? this.nativeElement.cssClass : undefined;\n\t}\n\tset cssClass(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.cssClass = value : undefined;\n\t}\n\n\t/** @description Determines the ribbon items of the ribbon group. */\n\t@Input()\n\tget ribbonItems(): any {\n\t\treturn this.nativeElement ? this.nativeElement.ribbonItems : undefined;\n\t}\n\tset ribbonItems(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.ribbonItems = value : undefined;\n\t}\n\n\t/** @description Determines the direction of the ribbon group. */\n\t@Input()\n\tget direction(): RibbonGroupDirection | string {\n\t\treturn this.nativeElement ? this.nativeElement.direction : undefined;\n\t}\n\tset direction(value: RibbonGroupDirection | string) {\n\t\tthis.nativeElement ? this.nativeElement.direction = value : undefined;\n\t}\n\n\t/** @description Determines the settings of the dialog launcher of the ribbon group. */\n\t@Input()\n\tget dialogLauncher(): RibbonGroupDialogLauncher {\n\t\treturn this.nativeElement ? this.nativeElement.dialogLauncher : undefined;\n\t}\n\tset dialogLauncher(value: RibbonGroupDialogLauncher) {\n\t\tthis.nativeElement ? this.nativeElement.dialogLauncher = value : undefined;\n\t}\n\n\t/** @description Determines the size, below which the ribbon group will be wrapped. */\n\t@Input()\n\tget wrapSize(): RibbonGroupWrapSize | string {\n\t\treturn this.nativeElement ? this.nativeElement.wrapSize : undefined;\n\t}\n\tset wrapSize(value: RibbonGroupWrapSize | string) {\n\t\tthis.nativeElement ? this.nativeElement.wrapSize = value : undefined;\n\t}\n\n\n\tget isRendered(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.isRendered : false;\n\t}\n\n\tngOnInit() {\n\t}\n\n ngAfterViewInit() {\n const that = this;\n\n that.onCreate.emit(that.nativeElement);\n\n\t\tthis.nativeElement.classList.add('smart-angular');\n\n\t\tif (this.nativeElement.whenRendered) this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });\n\t}\n\n\tngOnDestroy() {\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.nativeElement && this.nativeElement.isRendered) {\n\t\t\tfor (const propName in changes) {\n\t\t\t\tif (changes.hasOwnProperty(propName)) {\n\t\t\t\t\tthis.nativeElement[propName] = changes[propName].currentValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n}\n","import { RibbonItem } from './../index';\nimport { RibbonItemType, RibbonItemSize, RibbonItemSettings, ElementRenderMode} from './../index';\nimport { Component, Directive, AfterViewInit, ElementRef, Input, OnInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\nimport { BaseElement, Smart } from './smart.element';\nexport { RibbonItemType, RibbonItemSize, RibbonItemSettings, ElementRenderMode} from './../index';\nexport { Smart } from './smart.element';\nexport { RibbonItem } from './../index';\n\n\n@Directive({\n\texportAs: 'smart-ribbon-item',\tselector: 'smart-ribbon-item, [smart-ribbon-item]'\n})\n\nexport class RibbonItemComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n\tconstructor(ref: ElementRef<RibbonItem>) {\n\t\tsuper(ref);\n\t\tthis.nativeElement = ref.nativeElement as RibbonItem;\n\t}\n\n\tprivate eventHandlers: any[] = [];\n\n\tpublic declare nativeElement: RibbonItem;\n\t/** @description Creates the component on demand.\n\t * @param properties An optional object of properties, which will be added to the template binded ones.\n\t */\n\tpublic createComponent(properties = {}): any {\n \tthis.nativeElement = <RibbonItem>document.createElement('smart-ribbon-item');\n\t\tfor (let propertyName in properties) { \n \t\t\tthis.nativeElement[propertyName] = properties[propertyName];\n\t\t}\n\t\treturn this.nativeElement;\n\t}\n\t/** @description Determines whether the ribbon item is disabled. */\n\t@Input()\n\tget disabled(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.disabled : undefined;\n\t}\n\tset disabled(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.disabled = value : undefined;\n\t}\n\n\t/** @description Determines the label of the ribbon item. */\n\t@Input()\n\tget label(): string {\n\t\treturn this.nativeElement ? this.nativeElement.label : undefined;\n\t}\n\tset label(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.label = value : undefined;\n\t}\n\n\t/** @description Determines the type of the ribbon item. */\n\t@Input()\n\tget type(): RibbonItemType | string {\n\t\treturn this.nativeElement ? this.nativeElement.type : undefined;\n\t}\n\tset type(value: RibbonItemType | string) {\n\t\tthis.nativeElement ? this.nativeElement.type = value : undefined;\n\t}\n\n\t/** @description Determines the template of the ribbon item. Accepts HTMLTemplateElement, an id of an HTMLTemplateElement or a Function. */\n\t@Input()\n\tget template(): string {\n\t\treturn this.nativeElement ? this.nativeElement.template : undefined;\n\t}\n\tset template(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.template = value : undefined;\n\t}\n\n\t/** @description Determines the size of the ribbon item. */\n\t@Input()\n\tget size(): RibbonItemSize | string {\n\t\treturn this.nativeElement ? this.nativeElement.size : undefined;\n\t}\n\tset size(value: RibbonItemSize | string) {\n\t\tthis.nativeElement ? this.nativeElement.size = value : undefined;\n\t}\n\n\t/** @description */\n\t@Input()\n\tget sizeChanged(): any {\n\t\treturn this.nativeElement ? this.nativeElement.sizeChanged : undefined;\n\t}\n\tset sizeChanged(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.sizeChanged = value : undefined;\n\t}\n\n\t/** @description Determines the allowed sizes of the ribbon item. */\n\t@Input()\n\tget allowedSizes(): any {\n\t\treturn this.nativeElement ? this.nativeElement.allowedSizes : undefined;\n\t}\n\tset allowedSizes(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.allowedSizes = value : undefined;\n\t}\n\n\t/** @description Determines the icon of the ribbon item. */\n\t@Input()\n\tget icon(): string {\n\t\treturn this.nativeElement ? this.nativeElement.icon : undefined;\n\t}\n\tset icon(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.icon = value : undefined;\n\t}\n\n\t/** @description Determines the settings of the ribbon item. The settings will be applied as properties if the ribbon item is set to a Smart Element. */\n\t@Input()\n\tget settings(): RibbonItemSettings {\n\t\treturn this.nativeElement ? this.nativeElement.settings : undefined;\n\t}\n\tset settings(value: RibbonItemSettings) {\n\t\tthis.nativeElement ? this.nativeElement.settings = value : undefined;\n\t}\n\n\t/** @description Determines the class of the ribbon item. */\n\t@Input()\n\tget cssClass(): string {\n\t\treturn this.nativeElement ? this.nativeElement.cssClass : undefined;\n\t}\n\tset cssClass(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.cssClass = value : undefined;\n\t}\n\n\t/** @description Sets a click event handler for the ribbon item. */\n\t@Input()\n\tget onItemClick(): any {\n\t\treturn this.nativeElement ? this.nativeElement.onItemClick : undefined;\n\t}\n\tset onItemClick(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.onItemClick = value : undefined;\n\t}\n\n\t/** @description Sets a change event handler for the ribbon item. */\n\t@Input()\n\tget onItemChange(): any {\n\t\treturn this.nativeElement ? this.nativeElement.onItemChange : undefined;\n\t}\n\tset onItemChange(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.onItemChange = value : undefined;\n\t}\n\n\t/** @description Determines the tooltip of the ribbon item. */\n\t@Input()\n\tget tooltip(): string {\n\t\treturn this.nativeElement ? this.nativeElement.tooltip : undefined;\n\t}\n\tset tooltip(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.tooltip = value : undefined;\n\t}\n\n\n\tget isRendered(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.isRendered : false;\n\t}\n\n\tngOnInit() {\n\t}\n\n ngAfterViewInit() {\n const that = this;\n\n that.onCreate.emit(that.nativeElement);\n\n\t\tthis.nativeElement.classList.add('smart-angular');\n\n\t\tif (this.nativeElement.whenRendered) this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });\n\t}\n\n\tngOnDestroy() {\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.nativeElement && this.nativeElement.isRendered) {\n\t\t\tfor (const propName in changes) {\n\t\t\t\tif (changes.hasOwnProperty(propName)) {\n\t\t\t\t\tthis.nativeElement[propName] = changes[propName].currentValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n}\n","import { NgModule } from '@angular/core';\n\nimport { RibbonComponent } from './smart.ribbon';\nimport { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { RibbonTabComponent } from './smart.ribbontab';\nimport { RibbonGroupComponent } from './smart.ribbongroup';\nimport { RibbonItemComponent } from './smart.ribbonitem';\n\n@NgModule({\n declarations: [RibbonComponent, RibbonTabComponent, RibbonGroupComponent, RibbonItemComponent],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\texports: [RibbonComponent, RibbonTabComponent, RibbonGroupComponent, RibbonItemComponent]\n})\n\nexport class RibbonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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