{"version":3,"file":"Serenity.Pro.App.js","sourceRoot":"","sources":["../App/Formatters/SingleLineTextFormatter.ts","../App/Wizards/WizardDialog.ts","../App/GridMixins/CardViewItems.tsx","../App/GridMixins/CardViewMixin.ts","../App/GridMixins/FavoriteViewsMixin.ts"],"names":[],"mappings":"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","sourcesContent":["\r\nnamespace Serenity {\r\n \r\n @Decorators.registerFormatter('Serenity.SingleLineTextFormatter')\r\n export class SingleLineTextFormatter implements Slick.Formatter {\r\n format(ctx: Slick.FormatterContext) {\r\n return SingleLineTextFormatter.formatValue(ctx.value);\r\n }\r\n\r\n public static formatValue(value: string) {\r\n var text = $('
').html(value || '').text();\r\n return Q.toSingleLine(text);\r\n }\r\n }\r\n}","\r\nnamespace Serenity {\r\n\r\n /**\r\n * A dialog/panel base class that easily generates a wizard UI from tabs in a form definition (e.g. Form.cs)\r\n */\r\n export abstract class WizardDialog extends Serenity.TemplatedDialog {\r\n\r\n private wizardGrid: Serenity.PropertyGrid;\r\n\r\n /**\r\n * Creates a new wizard dialog\r\n * @param opt options, might be used by derived classes\r\n */\r\n constructor(opt?: TOptions) {\r\n super(opt);\r\n\r\n this.element.children().addClass(\"wizard-horz\");\r\n\r\n this.wizardGrid = new PropertyGrid(this.byId(\"WizardGrid\"),\r\n this.getPropertyGridOptions());\r\n\r\n this.wizardGrid.element.children(\".property-tabs\").children('li').each((i, li) => {\r\n var $li = $(li);\r\n var h = $li.children('a').html();\r\n $li.html('').attr('data-step', i + 1);\r\n $('').text(i + 1).appendTo($li);\r\n $('').html(h).appendTo($li);\r\n $('').appendTo($li);\r\n });\r\n\r\n this.byId(\"CancelButton\").click((e) => this.confirmCancel(e));\r\n\r\n this.byId(\"BackButton\").click(() => {\n this.moveToStep(this.step - 1);\n });\n\n this.byId(\"NextButton\").click(() => {\n if (!this.validateForm())\n return false;\n\n this.moveToStep(this.step + 1);\n });\n\n this.wizardGrid.element.children(\".property-tabs\")\n .on(\"click\", \"li\", e => {\n var step = $(e.currentTarget).data('step');\n\n if (step > this.step)\n return;\n\n this.moveToStep(step);\n });\r\n\r\n this.wizardGrid.load(this.getInitialEntity());\r\n\r\n this.element.on('dialogbeforeclose panelbeforeclose', e => {\r\n if (!Serenity.WX.hasOriginalEvent(e))\r\n return;\r\n\r\n this.confirmCancel(e);\r\n });\r\n }\r\n\r\n /**\r\n * gets property grid options\r\n */\r\n protected getPropertyGridOptions(): PropertyGridOptions {\r\n return {\r\n idPrefix: this.idPrefix,\r\n mode: PropertyGridMode.insert,\r\n items: this.getPropertyItems(),\r\n localTextPrefix: this.getLocalTextPrefix(),\r\n useCategories: true\r\n };\r\n }\r\n\r\n /**\r\n * gets form key to use to load property items / tabs\r\n */\r\n protected getFormKey(): string {\r\n return null;\r\n }\r\n\r\n /**\r\n * gets local text prefix for labels\r\n */\r\n protected getLocalTextPrefix(): string {\r\n return \"\";\r\n }\r\n\r\n /**\r\n * gets list of property items to shown on form, uses form key to load items by default\r\n */\r\n protected getPropertyItems(): Serenity.PropertyItem[] {\r\n var formKey = this.getFormKey();\r\n if (formKey)\r\n return Q.getForm(formKey);\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * gets initial entity to load onto form, override these to customize initial form values\r\n */\r\n protected getInitialEntity(): TEntity {\r\n return {} as TEntity;\r\n }\r\n\r\n // gets maximum number of steps from\r\n protected get maxSteps() {\r\n return this.wizardGrid.element\r\n .children(\".property-tabs\")\r\n .children(\"li\")\r\n .length;\r\n }\r\n\r\n /**\r\n * moves to a step, by calling one of next, back or finish methods based on target step\r\n * @param toStep the target step to move to\r\n */\r\n protected moveToStep(toStep: number) {\r\n if (toStep == this.step || toStep < 1 || toStep > this.maxSteps + 1)\r\n return;\r\n\r\n if (toStep >= this.maxSteps + 1) {\r\n this.finish();\r\n return;\r\n }\r\n\r\n (toStep < this.step ? this.back : this.next).call(this, toStep);\r\n }\r\n\r\n private _step: number = 1;\r\n\r\n // gets current step\r\n protected get step(): number {\r\n return this._step;\r\n }\r\n\r\n // sets current step directly, skipping any validation\r\n protected set step(value: number) {\r\n this.getStepLink(this._step).removeClass(\"in active\");\r\n this.getStepPanel(this._step).removeClass(\"in active\");\r\n this.getStepLink(value).addClass(\"in active\");\r\n this.getStepPanel(value).addClass(\"in active\")\r\n .find(\".require-layout\").triggerHandler(\"layout\");\r\n var s: number;\r\n for (s = value; s <= this._step; s++)\r\n this.getStepLink(s).removeClass(\"complete\").find(\"span.badge\").removeClass(\"badge-success\");\r\n for (s = this._step; s < value; s++)\r\n this.getStepLink(s).addClass(\"complete\").find(\"span.badge\").addClass(\"badge-success\");\r\n\r\n this._step = value;\r\n\r\n this.byId(\"BackButton\").toggleClass('disabled', this._step <= 1);\r\n this.byId(\"NextButton\").children('.txt').text(Q.text(\"Site.WizardDialog.\" +\r\n (this._step == this.maxSteps ? \"Finish\" : \"Next\") + \"Button\"));\r\n }\r\n\r\n /**\r\n * called to reset the form, and go back to first step\r\n */\r\n protected reset() {\r\n this.step = 1;\r\n this.wizardGrid.load(this.getInitialEntity());\r\n }\r\n\r\n /**\r\n * is called when user clicks the Finish button (next button on last step)\r\n */\r\n protected finish() {\r\n this.dialogClose();\r\n }\r\n\r\n /**\r\n * next method is called when user tries to go forward\r\n * @param toStep the step user is trying to move to, usually one step ahead\r\n */\r\n protected next(toStep: number) {\r\n this.step = toStep;\r\n }\r\n\r\n /**\r\n * back method is called when user tries to go backward\r\n * @param toStep the step user is trying to move to, usually one step back but can also be multiple\r\n */\r\n protected back(toStep: number) {\r\n this.step = toStep;\r\n }\r\n\r\n private getStepLink(step: number) {\r\n return this.wizardGrid.element\r\n .children(\".property-tabs\")\r\n .children(\"li\").eq(step - 1);\r\n }\r\n\r\n private getStepPanel(step: number) {\r\n return this.wizardGrid.element\r\n .children(\".property-panes\")\r\n .children().eq(step - 1)\r\n }\r\n\r\n /**\r\n * make sure derived classes use WizardDialog template,\r\n * if they don't define one of their own\r\n */\r\n protected getFallbackTemplate() {\r\n return `\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
`;\r\n }\r\n\r\n /**\r\n * gets cancel confirmation message, return null to disable confirmation\r\n */\r\n protected getCancelMessage() {\r\n return Q.text(\"Site.WizardDialog.CancelMessage\");\r\n }\r\n\r\n /**\r\n * confirms when user tries to cancel or close the wizard\r\n * @param e\r\n */\r\n protected confirmCancel(e: JQueryEventObject) {\r\n var cancelMessage = this.getCancelMessage();\r\n if (!cancelMessage) {\r\n e.preventDefault();\r\n this.dialogClose();\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n Q.confirm(cancelMessage,\r\n () => {\r\n this.dialogClose();\r\n });\r\n }\r\n\r\n /** gets save entity from form, optionally from a limited list of steps (tabs)\r\n * @param steps the list of steps to read data from, pass null to get all\r\n */\r\n protected getSaveEntity(steps?: number[]): TEntity {\r\n var entity = {} as TEntity;\r\n this.wizardGrid.save(entity);\r\n\r\n if (steps != null) {\r\n var maxSteps = this.maxSteps;\r\n for (var i = 1; i <= maxSteps; i++) {\r\n if (steps.indexOf(i) >= 0)\r\n continue;\r\n\r\n var panel = this.getStepPanel(i);\r\n panel.find('.field').each((z, el) => {\r\n var field = $(el).attr('class').split(' ')[1];\r\n if (field)\r\n delete entity[field];\r\n });\r\n }\r\n }\r\n\r\n return entity;\r\n }\r\n\r\n // gets value of compact steps option\r\n protected get compactSteps() {\r\n return this.element.children().hasClass(\"compact-steps\");\r\n }\r\n\r\n // sets value of compact steps option, when it is on, inactive step titles only show\r\n // numbers and gets visible on hover. this is better there are many steps to fit\r\n protected set compactSteps(value: boolean) {\r\n this.element.children().toggleClass(\"compact-steps\", value);\r\n }\r\n }\r\n}\r\n","\r\nnamespace Serenity {\r\n\r\n export interface CardViewItemsProps {\r\n items: TItem[];\r\n renderItem: (item: TItem, index: number) => React.ReactNode;\r\n }\r\n\r\n export class CardViewItems extends React.Component> {\r\n render(): React.ReactNode {\r\n return (\r\n
\r\n {this.props.items.map((item, index) =>\r\n
\r\n {this.props.renderItem(item, index)}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n }\r\n}","\r\n// thanks a lot to Brainweber Inc. for sponsoring this feature and letting us share it with community\r\n\r\nnamespace Serenity {\r\n\r\n export type CardViewType = \"card\" | \"grid\";\r\n\r\n /**\r\n * A mixin that can be applied to a DataGrid for card view functionality\r\n */\r\n export class CardViewMixin {\r\n\r\n private dataGrid: DataGrid;\r\n private getId: (item: TItem) => any;\r\n private cardContainer: JQuery;\r\n\r\n constructor(private options: CardViewMixinOptions) {\r\n var dg = this.dataGrid = options.grid;\r\n var idProperty = (dg as any).getIdProperty();\r\n var getId = this.getId = (item: TItem) => (item as any)[idProperty];\r\n\r\n var btnGroup = $(`\r\n
\r\n \r\n \r\n
`)\r\n .prependTo(dg.element.find('.grid-title'));\r\n\r\n this.cardContainer = $('
')\r\n .insertAfter(dg.element.children('.grid-container'));\r\n\r\n btnGroup.find('input').change((e) => this.switchView($(e.target).val()));\r\n\r\n this.resizeCardView();\r\n\r\n dg.element.bind('layout', () => this.resizeCardView());\r\n\r\n (dg.view as any).onDataChanged.subscribe(() => {\r\n this.updateCardItems();\r\n });\r\n\r\n var oldCurrentSettings = (dg as any).getCurrentSettings;\r\n (dg as any).getCurrentSettings = function (flag: GridPersistanceFlags) {\r\n var settings = oldCurrentSettings.apply(dg, [flag]);\r\n settings['viewType'] = btnGroup.find('input:checked').val();\r\n return settings;\r\n };\r\n\r\n var oldRestoreSettings = (dg as any).restoreSettings;\r\n (dg as any).restoreSettings = function (settings?: PersistedGridSettings, flags?: GridPersistanceFlags) {\r\n oldRestoreSettings.apply(dg, [settings, flags]);\r\n\r\n if (settings == null) {\r\n var storage = this.getPersistanceStorage();\r\n if (storage == null)\r\n return;\r\n\r\n var json = Q.trimToNull(storage.getItem(this.getPersistanceKey()));\r\n if (!json)\r\n return;\r\n\r\n settings = JSON.parse(json);\r\n }\r\n var viewType = (settings as any).viewType || 'list';\r\n var currentViewType = btnGroup.find('input:checked').val() || 'list';\r\n if (viewType != currentViewType) {\r\n btnGroup.find('input').eq(viewType == 'card' ? 1 : 0).click();\r\n }\r\n };\r\n }\r\n\r\n private switchView(viewType: CardViewType) {\r\n this.resizeCardView();\r\n var card = viewType == 'card';\r\n this.dataGrid.element.children('.card-container').toggle(card);\r\n this.dataGrid.element.children('.grid-container').toggle(!card);\r\n\r\n if (card)\r\n this.updateCardItems();\r\n\r\n (this.dataGrid as any).persistSettings();\r\n }\r\n\r\n private updateCardItems() {\r\n ReactDOM.render(React.createElement(CardViewItems, {\r\n items: this.dataGrid.getItems(),\r\n renderItem: this.options.renderItem\r\n }), this.cardContainer[0]);\r\n }\r\n\r\n private resizeCardView() {\r\n var gc = this.dataGrid.element.children('.grid-container');\r\n var width = this.dataGrid.element.width();\r\n var height = gc.height();\r\n this.dataGrid.element.children('.card-container').css({\r\n width: width + 'px',\r\n height: height + 'px'\r\n });\r\n }\r\n }\r\n\r\n export interface CardViewMixinOptions {\r\n grid: Serenity.DataGrid;\r\n renderItem: (item: TItem, index: number) => React.ReactNode;\r\n }\r\n\r\n Q.initFullHeightGridPage = function (gridDiv) {\r\n $('body').addClass('full-height-page');\r\n gridDiv.addClass('responsive-height');\r\n var layout = function () {\r\n var inPageContent = gridDiv.parent().hasClass('page-content') ||\r\n gridDiv.parent().is('section.content');\r\n if (inPageContent) {\r\n gridDiv.css('height', '1px').css('overflow', 'hidden');\r\n }\r\n var cc = gridDiv.children('.card-container');\r\n if (cc.length && cc.is(':visible')) {\r\n cc.hide();\r\n gridDiv.children('.grid-container').show();\r\n try {\r\n Q.layoutFillHeight(gridDiv);\r\n gridDiv.triggerHandler('layout');\r\n }\r\n finally {\r\n gridDiv.children('.grid-container').hide();\r\n cc.show();\r\n }\r\n }\r\n else {\r\n Q.layoutFillHeight(gridDiv);\r\n if (inPageContent) {\r\n gridDiv.css('overflow', '');\r\n }\r\n gridDiv.triggerHandler('layout');\r\n }\r\n };\r\n if ($('body').hasClass('has-layout-event')) {\r\n $('body').bind('layout', layout);\r\n }\r\n else if ((window as any).Metronic) {\r\n (window as any).Metronic.addResizeHandler(layout);\r\n }\r\n else {\r\n $(window).resize(layout);\r\n }\r\n layout();\r\n }\r\n}","\r\n// thanks a lot to Brainweber Inc. for sponsoring this feature and letting us share it with community\r\n\r\nnamespace Serenity {\r\n\r\n /**\r\n * A mixin that can be applied to a DataGrid for favorite views functionality\r\n */\r\n export class FavoriteViewsMixin {\r\n\r\n private dataGrid: DataGrid;\r\n private getId: (item: TItem) => any;\r\n private ul: JQuery;\r\n\r\n constructor(private options: FavoriteViewsMixinOptions) {\r\n var dg = this.dataGrid = options.grid;\r\n var idProperty = (dg as any).getIdProperty();\r\n var getId = this.getId = (item: TItem) => (item as any)[idProperty];\r\n\r\n var dropdown = $(`\r\n
\r\n \r\n
    \r\n
  • \r\n
    ${Q.text(\"Site.FavoriteViewsMixin.SaveView\")}
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n`)\r\n .prependTo(dg.element.find(\".grid-title\"));\r\n\r\n dropdown.on('shown.bs.dropdown', e => {\r\n dropdown.find('input[type=text]').focus();\r\n });\r\n\r\n var viewName = dropdown.find('li.save input[type=text]');\r\n\r\n dropdown.find('button.save-button').click(() => {\r\n var name = Q.trimToNull(viewName.val());\r\n if (!name) {\r\n Q.notifyWarning(Q.text(\"Site.FavoriteViewsMixin.EmptyNameError\"));\r\n return;\r\n }\r\n\r\n var favorites = this.getFavorites();\r\n favorites[name] = (dg as any).getCurrentSettings();\r\n this.saveFavorites(favorites);\r\n Q.notifySuccess(Q.format(Q.text(\"Site.FavoriteViewsMixin.SaveSuccessMessage\"), name));\r\n viewName.val('');\r\n this.populateFavorites();\r\n });\r\n\r\n this.ul = dropdown.children(\"ul\");\r\n this.ul.on('click', 'i.fa-trash-o', e => {\r\n var name = $(e.target).closest('li').children('a').text();\r\n var favorites = this.getFavorites();\r\n delete favorites[name];\r\n this.saveFavorites(favorites);\r\n this.populateFavorites();\r\n Q.notifyWarning(Q.format(Q.text(\"Site.FavoriteViewsMixin.DeleteSuccessMessage\"), name));\r\n });\r\n\r\n this.ul.on('click', 'a', e => {\r\n var name = $(e.target).text();\r\n var favorites = this.getFavorites();\r\n var settings = favorites[name];\r\n if (settings) {\r\n (dg as any).restoreSettings(settings);\r\n dg.refresh();\r\n Q.notifySuccess(Q.format(Q.text(\"Site.FavoriteViewsMixin.LoadedViewMessage\"), name));\r\n }\r\n });\r\n\r\n this.populateFavorites();\r\n }\r\n\r\n private populateFavorites() {\r\n var favorites = this.getFavorites();\r\n\r\n var saveLI = this.ul.children('.save');\r\n this.ul.children().not(saveLI).remove();\r\n\r\n var keys = Object.keys(favorites).sort();\r\n if (keys.length) {\r\n for (var k of keys) {\r\n var li = $('
  • ')\r\n .insertBefore(saveLI)\r\n .children('a')\r\n .text(k)\r\n .end();\r\n\r\n $('')\r\n .attr('title', Q.text(\"Site.FavoriteViewsMixin.DeleteButtonHint\"))\r\n .appendTo(li);\r\n }\r\n\r\n $('
  • ').insertBefore(saveLI);\r\n }\r\n }\r\n\r\n private saveFavorites(favorites: object) {\r\n var storage = (this.dataGrid as any).getPersistanceStorage() as Serenity.SettingStorage;\r\n var key = \"Views:\" + (this.dataGrid as any).getPersistanceKey();\r\n storage.setItem(key, JSON.stringify(favorites));\r\n }\r\n\r\n private getFavorites() {\r\n var storage = (this.dataGrid as any).getPersistanceStorage() as Serenity.SettingStorage;\r\n var key = \"Views:\" + (this.dataGrid as any).getPersistanceKey();\r\n return JSON.parse(storage.getItem(key) || \"{}\") || {};\r\n }\r\n }\r\n\r\n export interface FavoriteViewsMixinOptions {\r\n // data grid object\r\n grid: Serenity.DataGrid;\r\n }\r\n}"]}