{ "version": 3, "sources": ["external-global:@serenity-is/corelib", "external-global:@serenity-is/corelib/q", "external-global:@serenity-is/corelib/slick", "external-global:@serenity-is/sleekgrid", "../Modules/index.ts", "../Modules/GridEditing/GridEditController.ts", "../Modules/GridEditing/GridEditWrapper.ts", "../Modules/GridMixins/AutoColumnWidthMixin.ts", "../Modules/GridMixins/CardViewMixin.tsx", "../../../node_modules/.pnpm/jsx-dom@8.0.6/node_modules/jsx-dom/min/index.js", "../Modules/GridMixins/CustomSummaryMixin.ts", "../Modules/GridMixins/DraggableGroupingMixin.ts", "../Modules/GridMixins/DraggableGroupingPlugin.ts", "../Modules/GridMixins/EntityGridDialog.ts", "../Modules/GridMixins/FavoriteViewsMixin.ts", "../Modules/GridMixins/HeaderFiltersMixin.ts", "../Modules/GridMixins/HeaderFiltersPlugin.ts", "../Modules/Tools/IdleTimeout.ts", "../Modules/Tools/UIOverrides.ts", "../Modules/Translation/TranslationGrid.ts", "../Modules/Tools/CopyToClipboard.ts", "../Modules/Wizards/WizardDialog.ts"], "sourcesContent": ["module.exports = Serenity;", "module.exports = Q;", "module.exports = Slick;", "module.exports = Slick;", "export * from \"./GridEditing/GridEditController\";\nexport * from \"./GridEditing/GridEditWrapper\";\nexport * from \"./GridMixins/AutoColumnWidthMixin\";\nexport * from \"./GridMixins/CardViewMixin\";\nexport * from \"./GridMixins/CustomSummaryMixin\";\nexport * from \"./GridMixins/DraggableGroupingMixin\";\nexport * from \"./GridMixins/DraggableGroupingPlugin\";\nexport * from \"./GridMixins/EntityGridDialog\";\nexport * from \"./GridMixins/FavoriteViewsMixin\";\nexport * from \"./GridMixins/HeaderFiltersMixin\";\nexport * from \"./GridMixins/HeaderFiltersPlugin\";\nexport * from \"./Tools/IdleTimeout\";\nexport * from \"./Tools/UIOverrides\";\nexport * from \"./Translation/TranslationGrid\";\nexport * from \"./Wizards/WizardDialog\";\n", "\uFEFFimport { DataGrid, EditorTypeRegistry, EntityGrid, ToolButton, Widget } from \"@serenity-is/corelib\";\nimport { deepClone, Dictionary, extend, getHighlightTarget, isBS3, notifyError, notifyWarning, PropertyItem, PropertyItemsData, SaveRequest, serviceRequest, tryFirst, tryGetText } from \"@serenity-is/corelib/q\";\nimport { CellStylesHash, Column, EditorClass, EditorFactory, EditorOptions, RowCell } from \"@serenity-is/sleekgrid\";\nimport { GridEditWrapper } from \"./GridEditWrapper\";\n\nexport interface GridEditOptions {\n grid: DataGrid;\n autoSave?: boolean;\n bulkSaveHandler?: (reqs: SaveRequest[]) => Promise;\n editable?: (args: { column: Column, item: TItem, row: number }) => boolean;\n editorParams?: object | ((args: { column: Column, item: TItem, slickArgs: EditorOptions }) => any);\n editorType?: (args: { column: Column, item: TItem, slickArgs: EditorOptions }) => {\n new (...args: any[]): Widget;\n },\n editorInit?: ((args: { editor: Widget, column: Column, item: TItem, slickArgs: EditorOptions }) => void);\n afterCommitEdit?: ((args: { column: Column, item: TItem, value: any, oldValue: any, row: number }) => void);\n refreshAfterSave?: boolean;\n resetOnLoad?: boolean;\n saveHandler?: (req: SaveRequest) => Promise;\n saveServiceMethod?: string;\n showValidationError?: boolean;\n undoRowDblEsc?: boolean;\n validator?: (value: any, args: EditorOptions) => string;\n}\n\nconst defaultGridEditOptions: Partial = {\n autoSave: false,\n refreshAfterSave: true,\n resetOnLoad: true,\n showValidationError: true,\n undoRowDblEsc: true\n} as const;\n\nexport class GridEditController implements EditorFactory {\n\n private _options: GridEditOptions;\n private dirtyStyles: CellStylesHash = {};\n\n constructor(opt: GridEditOptions) {\n this._options = opt = extend(extend({}, defaultGridEditOptions), opt) as GridEditOptions;\n\n opt.grid.slickGrid.setOptions({\n editable: true,\n editorFactory: this,\n enableCellNavigation: true,\n editorCellNavOnLRKeys: false,\n autoEdit: true,\n editCommandHandler: (item: any, column, command) => {\n var orig = item.__orig;\n if (orig == null)\n item.__orig = extend({}, item);\n var oldValue = item[column.field];\n command.execute();\n var value = item[column.field];\n this.options.afterCommitEdit?.({\n column: column,\n item,\n oldValue,\n value,\n row: command.row\n });\n this.updateModifiedClassesForRow(command.row);\n opt.grid[\"updateInterface\"]();\n\n if (opt.autoSave)\n this.saveChanges();\n }\n });\n\n var priorEscCell: RowCell;\n\n if (opt.undoRowDblEsc) {\n // cancel changes for current row on double escape<\n opt.grid.slickGrid.onKeyDown.subscribe(e => {\n if (e.key === \"Escape\" &&\n !opt.grid.slickGrid.getCellEditor()) {\n var activeCell = opt.grid.slickGrid.getActiveCell();\n if (activeCell != null &&\n activeCell.row >= 0 &&\n activeCell.cell >= 0 &&\n priorEscCell != null &&\n activeCell.row == priorEscCell.row &&\n activeCell.cell == priorEscCell.cell) {\n priorEscCell = null;\n this.undoRowChanges(activeCell.row);\n opt.grid.slickGrid.updateRow(activeCell.row);\n }\n else\n priorEscCell = activeCell;\n }\n else\n priorEscCell = null;\n });\n }\n\n if (opt.showValidationError) {\n opt.grid.slickGrid.onValidationError.subscribe((e, args) => {\n showValidationError(args.cellNode, args.validationResults.msg);\n });\n }\n\n if (opt.resetOnLoad) {\n opt.grid.view?.onDataLoaded.subscribe(() => {\n this.undoChanges();\n });\n }\n }\n\n updateModifiedClassesForRow(row: number) {\n var slick = this._options.grid.slickGrid;\n var item = slick.getDataItem(row);\n var orig = (item as any).__orig;\n if (orig == null)\n delete this.dirtyStyles[row];\n else {\n var styles = this.dirtyStyles[row];\n if (styles == null)\n this.dirtyStyles[row] = styles = {};\n var cols = slick.getColumns();\n for (var cell = 0; cell < cols.length; cell++) {\n var col = cols[cell];\n var field = col.editableProperty?.name ?? col.field;\n if (field == null ||\n !this.isFieldDirty(item, field))\n delete styles[col.id];\n else\n styles[col.id] = \"slick-cell-dirty\";\n }\n }\n slick.setCellCssStyles(\"dirtycells\", deepClone(this.dirtyStyles));\n }\n\n get options() {\n return this._options;\n }\n\n getEditor(column: Column, row: number): EditorClass {\n\n if (column.editableProperty == void 0 &&\n column.sourceItem &&\n column.sourceItem.filteringIdField != null) {\n var pid = this._options.grid[\"propertyItemsData\"] as PropertyItemsData;\n if (pid != null) {\n var idField = column.sourceItem.filteringIdField;\n column.editableProperty = tryFirst(pid.items || [], x => x.name == idField) ??\n tryFirst(pid.additionalItems || [], x => x.name == idField) ?? null;\n }\n }\n\n var propertyItem = column.editableProperty ?? column.sourceItem;\n\n if (propertyItem == null ||\n propertyItem.readOnly ||\n propertyItem.updatable === false ||\n EditorTypeRegistry.get(column.sourceItem.editorType ?? \"String\") == null)\n return null;\n \n if (this._options.editable != null) {\n var item = this._options.grid.slickGrid.getDataItem(row);\n var editable = this._options.editable({ column, item, row });\n if (editable !== void 0 && !editable)\n return null;\n }\n \n return GridEditWrapper;\n }\n\n isDirty() {\n var slick = this._options.grid?.slickGrid;\n if (!slick)\n return false;\n var dataLength = slick.getDataLength();\n for (var i = 0; i < dataLength; i++) {\n var item = slick.getDataItem(i);\n if (this.isItemDirty(item))\n return true;\n }\n return false;\n }\n\n isItemDirty(item: any) {\n return item && item.__orig &&\n Object.keys(item).some(key => key !== \"__orig\" && item.__orig[key] != item[key]);\n }\n\n isFieldDirty(item: any, field: string) {\n return item.__orig && (item.__orig[field] != item[field]);\n }\n\n undoRowChanges(row: number) {\n var item = this._options.grid.slickGrid.getDataItem(row);\n if (item && item.__orig) {\n var orig = item.__orig;\n for (var i in item)\n delete item[i];\n for (var i in orig)\n item[i] = orig[i];\n }\n this.updateModifiedClassesForRow(row);\n }\n\n undoChanges() {\n var slick = this._options.grid?.slickGrid;\n if (!slick)\n return;\n var dataLength = slick.getDataLength();\n for (var row = 0; row < dataLength; row++) {\n var item = slick.getDataItem(row);\n if (item.__orig)\n this.undoRowChanges(row);\n }\n for (var key in this.dirtyStyles)\n delete this.dirtyStyles[key];\n slick.setCellCssStyles(\"dirtycells\", deepClone(this.dirtyStyles));\n slick.invalidate();\n }\n\n saveChanges() {\n\n var slick = this._options.grid?.slickGrid;\n if (!slick)\n return;\n\n var dataLength = slick.getDataLength();\n var requests: Dictionary> = {};\n\n for (var row = 0; row < dataLength; row++) {\n var item = slick.getDataItem(row);\n if (this.isItemDirty(item)) {\n var request: SaveRequest = {\n EntityId: item.__orig[this._options.grid[\"getIdProperty\"]()],\n Entity: Object.create(null) as TItem\n };\n for (var field of Object.keys(item)) {\n if (field === \"__orig\")\n continue;\n if (this.isFieldDirty(item, field))\n request.Entity[field] = item[field];\n }\n if (Object.keys(request.Entity as any).length)\n requests[row] = request;\n }\n }\n\n var rows = Object.keys(requests);\n var current = -1;\n var self = this;\n\n (function saveNext() {\n if (++current >= rows.length) {\n self.undoChanges();\n if (self._options.refreshAfterSave)\n self._options.grid.refresh();\n self._options.grid[\"updateInterface\"]();\n return;\n }\n\n var row = parseInt(rows[current], 10);\n var request = requests[row];\n var item = self._options.grid.slickGrid.getDataItem(row);\n\n const then = () => {\n delete item.__orig;\n delete request[row];\n self.updateModifiedClassesForRow(row);\n saveNext();\n }\n\n const fail = () => {\n if (self._options.autoSave)\n self.undoRowChanges(row);\n self._options.grid[\"updateInterface\"]();\n }\n\n if (self._options.saveHandler) {\n self._options.saveHandler(request)\n .then(then)\n .catch(fail);\n }\n else {\n var serviceMethod = self._options.saveServiceMethod;\n\n if (serviceMethod == null) {\n var getService = (self._options.grid as EntityGrid)[\"getService\"];\n if (getService)\n serviceMethod = getService() + \"/Update\";\n }\n\n if (serviceMethod)\n serviceRequest(serviceMethod, request, then)\n .fail(fail);\n else\n notifyWarning(\"Save handler for edit controller is not defined!\");\n }\n })();\n }\n\n static saveChangesButton(controller: () => GridEditController): ToolButton {\n return {\n title: tryGetText('Controls.EntityGrid.SaveChangesButton') ?? \"Save Changes\",\n cssClass: 'apply-changes-button',\n disabled: () => !controller()?.isDirty(),\n onClick: () => controller()?.saveChanges(),\n separator: true\n }\n }\n\n static undoButton(controller: () => GridEditController): ToolButton {\n return {\n hint: tryGetText('Controls.EntityGrid.UndoChangesButton') ?? \"Undo Changes\",\n cssClass: 'undo-changes-button',\n icon: 'fa-undo',\n disabled: () => !controller()?.isDirty(),\n onClick: e => controller()?.undoChanges()\n }\n }\n}\n\nfunction showValidationError(el: HTMLElement, msg) {\n if ($.fn.tooltip) {\n var $el: any;\n var hl = getHighlightTarget(el);\n if (hl)\n $el = $(hl);\n else\n $el = $(el);\n\n $.fn.tooltip && $el.tooltip({\n title: msg,\n trigger: 'manual'\n }).tooltip('show');\n\n window.setTimeout(function () {\n $el.tooltip(isBS3() ? 'destroy' : 'dispose');\n }, 1500);\n }\n else\n notifyError(msg);\n}\n\ndeclare module \"@serenity-is/sleekgrid\" {\n interface Column {\n editableProperty?: PropertyItem;\n }\n}", "import { Widget, EditorTypeRegistry, EditorUtils, Select2Editor, BooleanEditor, EnumEditor } from \"@serenity-is/corelib\";\nimport { extend, isInstanceOfType, localText, toId } from \"@serenity-is/corelib/q\";\nimport { Editor, EditorOptions, Grid, Position, ValidationResult } from \"@serenity-is/sleekgrid\";\nimport { GridEditController } from \"./GridEditController\";\n\nexport class GridEditWrapper implements Editor {\n private args: EditorOptions;\n private editor: Widget;\n private defaultValue: any;\n\n constructor(args: EditorOptions) {\n this.args = args;\n\n var controller = (args.grid as Grid).getOptions().editorFactory as GridEditController;\n var propertyItem = args.column.editableProperty ?? args.column.sourceItem;\n\n var editorParams = extend({}, propertyItem.editorParams);\n var ctrlEditorParams = controller?.options?.editorParams;\n if (ctrlEditorParams != null) {\n if (typeof ctrlEditorParams === \"function\")\n ctrlEditorParams = ctrlEditorParams({ column: args.column, item: args.item, slickArgs: args });\n editorParams = extend(editorParams, ctrlEditorParams);\n }\n\n var editorType = controller?.options?.editorType?.({\n column: args.column, item: args.item, slickArgs: args\n }) ?? EditorTypeRegistry.get(propertyItem.editorType ?? \"String\")\n ;\n\n var createOptions = {\n container: $(args.container),\n element: el => el.addClass('s-cell-editor'),\n type: editorType,\n options: editorParams\n }\n\n this.editor = Widget.create(createOptions);\n\n var maxLength = editorParams.maxLength ?? editorParams.maxlength ?? propertyItem?.maxLength;\n if (maxLength != null) {\n if (this.editor.element.is(':input')) {\n if (maxLength > 0) {\n this.editor.element?.attr('maxlength', maxLength);\n }\n else {\n this.editor.element?.removeAttr('maxlength');\n }\n } \n }\n\n this.editor.element.focus();\n this.editor.element[0][\"select\"]?.();\n\n controller?.options?.editorInit?.({\n column: args.column, editor: this.editor, item: args.item, slickArgs: args\n });\n }\n\n focus(): void {\n this.editor.element.focus();\n }\n\n isValueChanged(): boolean {\n return JSON.stringify(this.serializeValue()) !=\n JSON.stringify(this.defaultValue);\n }\n\n keyCaptureList?: number[];\n\n loadValue(source: any): void {\n const propertyItem = this.args.column.editableProperty ?? this.args.column.sourceItem;\n EditorUtils.loadValue(this.editor, propertyItem, source);\n this.defaultValue = this.serializeValue();\n }\n\n serializeValue() {\n const propertyItem = this.args.column.editableProperty ?? this.args.column.sourceItem;\n const target = Object.create(null);\n EditorUtils.saveValue(this.editor, propertyItem, target);\n\n if (isInstanceOfType(this.editor, EnumEditor)) {\n var value = target[propertyItem.name];\n if (typeof value === \"string\" && !isNaN(value as any)) {\n target[propertyItem.name] = toId(value);\r\n }\n }\n\n if (propertyItem.name !== this.args.column.field &&\n isInstanceOfType(this.editor, Select2Editor))\n target[this.args.column.field] = (this.editor as Select2Editor).text;\n\n return target;\n }\n\n applyValue(target: any, state: any): void {\n for (var k of Object.keys(state))\n target[k] = state[k];\n }\n\n position?(pos: Position): void {\n }\n\n preClick?(): void {\n if (this.args.column.sourceItem?.editorType == \"Boolean\")\n (this.editor as BooleanEditor).value = !(this.editor as BooleanEditor).value;\n }\n\n hide?(): void {\n }\n\n show?(): void {\n }\n\n validate?(): ValidationResult {\n const propertyItem = this.args.column.editableProperty ?? this.args.column.sourceItem;\n const value = EditorUtils.getValue(this.editor);\n if (propertyItem.required &&\n (value == null || (typeof value === \"string\" && !value.trim().length))) {\n return {\n valid: false,\n msg: localText(\"Validation.Required\")\n }\n }\n\n if (this.args.column.validator != null) {\n var result = this.args.column.validator(value, this.args);\n if (!result.valid)\n return result;\n }\n\n var controller = (this.args.grid as Grid).getOptions().editorFactory as GridEditController;\n if (controller &&\n controller.options?.validator) {\n var message = controller.options.validator(value, this.args);\n if (message != null)\n return { valid: false, msg: message };\n }\n\n return { valid: true, msg: null }\n }\n\n destroy() {\n this.editor?.destroy();\n }\n}", "\uFEFFimport { DataGrid, Decorators, GridPersistanceFlags, LazyLoadHelper, PersistedGridSettings, Widget } from \"@serenity-is/corelib\";\nimport { any, htmlEncode } from \"@serenity-is/corelib/q\";\nimport { Column, Grid } from \"@serenity-is/sleekgrid\";\n\nexport interface AutoColumnWidthMixinOptions {\n grid: DataGrid;\n /** Disable auto size on load behavior, default is false, user can stil auto size by double click */\n disabled?: boolean;\n /** True to just auto size once on load, not on every load, like after changing pages, sorting etc, default is false */\n autoSizeAllJustOnce?: boolean;\n /** Disable auto size on load behavior if user manually resizes a column, default is true */\n disableIfUserResize?: boolean;\n /** If column has an explicit width set in Form.cs, use that width on auto size, doesn't effect manually triggered auto size */\n useExplicitWidths?: () => boolean;\n /** Set to true if headers shouldn't affect auto width, default is false.\n * If passed a number, header are considered for auto width but only up to that \n * number, e.g. if you pass 200, and header width is 300, 200 will be used */\n ignoreHeaders?: boolean | number;\n /** Maximum rows to scan in data source, default is 40*/\n maxRows?: number;\n /** Maximum auto column width, default value is 400 */\n maxWidth?: number;\n /** Minimum auto column width, default value is 30 */\n minWidth?: number;\n /** Callback used before user auto size all columns */\n beforeUserAutoSizeAll?: () => void;\n /** Callback used after user auto size all columns */\n afterUserAutoSizeAll?: () => void;\n /** extra delta for input border and padding */\n inputDelta?: number;\n}\n\n/**\n * A mixin that can be applied to a DataGrid for auto size column width functionality\n */\n@Decorators.registerClass(\"Serenity.AutoColumnWidthMixin\")\nexport class AutoColumnWidthMixin extends Widget {\n\n private slickGrid: Grid;\n private $container: JQuery;\n private autoSizing: number = 0;\n private inputDelta: number;\n private markupReadyOnce: boolean;\n private oldMarkupReady: () => void;\n private oldPersistSettings: (flags?: GridPersistanceFlags) => void;\n private oldGetCurrentSettings: (flags?: GridPersistanceFlags) => PersistedGridSettings;\n private oldRestoreSettings: (settings?: PersistedGridSettings, flags?: GridPersistanceFlags) => void;\n public disabled: boolean;\n\n private columnResizeHandler = () => {\n if (!this.autoSizing && (this.options.disableIfUserResize ?? true))\n this.disabled = true;\n }\n\n constructor(options: AutoColumnWidthMixinOptions) {\n super(options.grid.element, options);\n\n if (options.disabled != null)\n this.disabled = !!options.disabled;\n\n this.slickGrid = options.grid.slickGrid;\n this.$container = $((this.slickGrid as any).getContainerNode());\n\n this.$container.on('dblclick.' + this.uniqueName, '.slick-resizable-handle', (e) => this.resizeHandleClick(e));\n this.slickGrid.onColumnsResized.subscribe(this.columnResizeHandler);\n var self = this;\n\n this.oldMarkupReady = options.grid['markupReady'];\n options.grid['markupReady'] = function () {\n self.oldMarkupReady && self.oldMarkupReady.call(this);\n if (!self.disabled && (!self.markupReadyOnce || !self.options.autoSizeAllJustOnce))\n self.autoSizeAll(self.disabled != null ? false : null);\n self.markupReadyOnce = true;\n };\n\n this.oldPersistSettings = options.grid['persistSettings'];\n options.grid['persistSettings'] = function (flags?: GridPersistanceFlags) {\n if (self.autoSizing)\n return;\n self.oldPersistSettings.call(this, flags);\n };\n\n this.oldGetCurrentSettings = options.grid['getCurrentSettings'];\n options.grid['getCurrentSettings'] = function (flags?: GridPersistanceFlags): PersistedGridSettings {\n flags = flags || this.gridPersistanceFlags();\n flags.columnWidths = flags.columnWidths ?? !!self.disabled;\n return self.oldGetCurrentSettings.call(this, flags);\n }\n\n this.oldRestoreSettings = options.grid['restoreSettings'];\n options.grid['restoreSettings'] = function (settings?: PersistedGridSettings, flags?: GridPersistanceFlags) {\n if (settings == null)\n settings = this.getPersistedSettings();\n\n flags = flags || this.gridPersistanceFlags();\n\n if (settings != null &&\n settings.columns &&\n (flags.columnWidths || any(settings.columns, x => x.width != null)))\n self.disabled = true;\n\n self.oldRestoreSettings.call(this, settings, flags);\n }\n\n this.inputDelta = options.inputDelta ?? 8;\n\n if (!this.disabled)\n this.autoSizeAll();\n }\n\n destroy() {\n if (this.options && this.options.grid) {\n this.options.grid.element.off('.' + this.uniqueName);\n this.options.grid['markupReady'] = this.oldMarkupReady;\n }\n\n this.slickGrid && this.slickGrid.onColumnsResized.unsubscribe(this.columnResizeHandler);\n\n this.options = null;\n this.slickGrid = null;\n this.$container = null;\n super.destroy();\n }\n\n\n private resizeHandleClick(e: JQueryEventObject) {\n if (e.ctrlKey) {\n e.preventDefault();\n e.stopPropagation();\n this.options.beforeUserAutoSizeAll && this.options.beforeUserAutoSizeAll();\n this.autoSizeAll(false);\n this.options.afterUserAutoSizeAll && this.options.afterUserAutoSizeAll();\n this.disabled = false;\n return;\n }\n\n var $header = $(e.currentTarget).closest('.slick-header-column');\n var columnDef = $header.data('column') as Column;\n\n if (!columnDef || !columnDef.resizable)\n return;\n\n e.preventDefault();\n e.stopPropagation();\n\n this.autoSizeColumn($header, columnDef);\n }\n\n private createCellNodes(sb: string[]): HTMLDivElement[] {\n const row = document.createElement('div');\n row.classList.add('slick-row', 's-offscreen');\n row.style.visibility = 'hidden';\n\n row.innerHTML = sb.join('');\n if (row.childNodes.length > 0)\n this.slickGrid.getCanvasNode().appendChild(row);\n\n if (Array[\"from\"])\n return Array[\"from\"](row.childNodes) as HTMLDivElement[];\n\n var childNodes = row.childNodes;\n var length = row.childNodes.length;\n var cellNodes: HTMLDivElement[] = [];\n for (var i = 0; i < length; i++)\n cellNodes.push(childNodes[i] as HTMLDivElement);\n\n return cellNodes;\n }\n\n private calcMaxWidthFromCellNodes(cellNodes: HTMLDivElement[], columnDef: Column, header: HTMLElement) {\n var maxAllowedWidth = columnDef.maxWidth > 0 ? columnDef.maxWidth : this.options.maxWidth;\n var maxWidth = 0;\n\n for (let index = 0; index < cellNodes.length; index++) {\n const cellNode = cellNodes[index];\n\n var width = cellNode.offsetWidth +\n (cellNode.dataset?.isInputNode === \"1\" ? (this.inputDelta ?? 0) : 0);\n\n if (width > maxWidth)\n maxWidth = width;\n\n if (maxAllowedWidth > 0 && width >= maxAllowedWidth)\n break;\n }\n\n var autoWidth = maxWidth || 0;\n\n if (typeof this.options.ignoreHeaders == \"number\") {\n autoWidth = Math.max(Math.min(this.options.ignoreHeaders, header.offsetWidth, autoWidth));\n }\n else if (!this.options.ignoreHeaders) {\n autoWidth = Math.max(header.offsetWidth, autoWidth);\n }\n\n autoWidth = (autoWidth || 0) + 1;\n\n if (columnDef.maxWidth > 0)\n autoWidth = Math.min(autoWidth, columnDef.maxWidth);\n else\n autoWidth = Math.min(autoWidth, this.options.maxWidth || 400);\n\n if (columnDef.minWidth > 0)\n autoWidth = Math.max(autoWidth, columnDef.minWidth);\n else\n autoWidth = Math.max(autoWidth, this.options.minWidth || 30);\n\n return autoWidth;\n }\n\n private getAutoColumnWidth($header: JQuery, columnDef: Column) {\n var colIndex = this.slickGrid.getColumnIndex(columnDef.id);\n var sb: string[] = [];\n this.renderColumnCells(sb, columnDef, colIndex, this.getMaxCalcLength());\n const cellNodes = this.createCellNodes(sb);\n try {\n let headerClone: HTMLElement;\n if (!this.options.ignoreHeaders)\n headerClone = createHeaderClone($header[0]);\n\n try {\n return this.calcMaxWidthFromCellNodes(cellNodes, columnDef, headerClone)\n } finally {\n headerClone?.parentElement?.removeChild(headerClone);\n }\n }\n finally {\n var rowNode = cellNodes[0]?.parentElement;\n rowNode && rowNode.parentElement.removeChild(rowNode);\n }\n }\n\n private autoSizeColumn($header: JQuery, columnDef: Column) {\n const autoWidth = this.getAutoColumnWidth($header, columnDef);\n\n if (autoWidth !== columnDef.width) {\n this.autoSizing++;\n try {\n columnDef.width = autoWidth;\n this.slickGrid.setColumns(this.slickGrid.getColumns());\n this.slickGrid.onColumnsResized.notify();\n }\n finally {\n this.autoSizing--;\n }\n }\n }\n\n private queueAutoSize: number = 0;\n\n public autoSizeAll(useExplicitWidths?: boolean) {\n if (!this.$container.is(':visible')) {\n\n if (this.queueAutoSize <= 0) {\n this.queueAutoSize++;\n LazyLoadHelper.executeOnceWhenShown(this.$container, () => this.autoSizeAll(useExplicitWidths));\n }\n\n return;\n }\n\n if (this.queueAutoSize > 0) {\n this.queueAutoSize--;\n }\n\n this.autoSizing++;\n try {\n\n var $headers = this.$container.find(\".slick-header-column\");\n useExplicitWidths = useExplicitWidths ?? (this.options.useExplicitWidths && this.options.useExplicitWidths());\n var maxRows = this.getMaxCalcLength();\n let sb: string[] = [];\n const headerClones: HTMLElement[] = [];\n\n try {\n $headers.each((index, el) => {\n var columnDef = $(el).data('column') as Column;\n if (columnDef && this.getPreSetWidth(columnDef) == null) {\n var colIndex = this.slickGrid.getColumnIndex(columnDef.id);\n this.renderColumnCells(sb, columnDef, colIndex, maxRows);\n }\n else {\n for (var i = 0; i < maxRows; i++)\n sb.push('
');\n }\n\n if (!this.options.ignoreHeaders)\n headerClones.push(createHeaderClone(el as HTMLElement));\n });\n\n let allCellNodes = this.createCellNodes(sb);\n try {\n\n $headers.each((index, el) => {\n var columnDef = $(el).data('column') as Column;\n if (!columnDef)\n return;\n\n var cellNodes = allCellNodes.slice(index * maxRows, (index + 1) * maxRows);\n\n var autoWidth = this.getPreSetWidth(columnDef);\n if (autoWidth == null) {\n autoWidth = this.calcMaxWidthFromCellNodes(cellNodes, columnDef, headerClones[index]);\n }\n columnDef.width = autoWidth;\n });\n }\n finally {\n var rowNode = allCellNodes[0]?.parentElement;\n rowNode && rowNode.parentElement?.removeChild(rowNode);\n }\n } finally {\n headerClones.forEach(el => el?.parentElement?.removeChild(el));\n }\n\n this.slickGrid.setColumns(this.slickGrid.getColumns());\n this.slickGrid.onColumnsResized.notify();\n }\n finally {\n this.autoSizing--;\n }\n }\n\n private getMaxCalcLength() {\n var length = this.slickGrid.getDataLength();\n if ((this.options.maxRows ?? 40) < length)\n length = this.options.maxRows ?? 40;\n return length;\n }\n\n private renderColumnCells(sb: string[], columnDef: Column, colIndex: number, maxRows: number) {\n\n for (var i = 0; i < maxRows; i++) {\n sb.push('
');\n continue;\n }\n\n var format = this.slickGrid.getFormatter(i, columnDef);\n var ctx = this.slickGrid.getFormatterContext(i, colIndex);\n let child: HTMLInputElement;\n let childHtml: string;\n\n if (format) {\n try {\n childHtml = format(ctx);\n }\n catch (ex) {\n childHtml = htmlEncode(item[columnDef.field] ?? '');\n }\n }\n else\n childHtml = htmlEncode(item[columnDef.field]);\n\n if (childHtml?.length > 5 && childHtml.substring(0, 6) == \"', htmlEncode(child.value), '');\n continue;\n }\n }\n\n sb.push('>', childHtml, '');\n }\n }\n\n getPreSetWidth(columnDef: Column): number {\n if (this.options.useExplicitWidths && columnDef.sourceItem && columnDef.sourceItem.width > 0 && columnDef.sourceItem.widthSet)\n return columnDef.sourceItem.width;\n }\n}\n\nfunction createHeaderClone(element: HTMLElement): HTMLElement {\n const clone = element.cloneNode(true) as HTMLElement;\n clone.style.cssText = 'position: absolute; visibility: hidden; right: auto; text-overflow: initial; white-space: nowrap;';\n element.parentNode.insertBefore(clone, element);\n\n return clone;\n}", "\uFEFF/** @jsxImportSource jsx-dom/min */\nimport { DataGrid, GridPersistanceFlags, PersistedGridSettings } from \"@serenity-is/corelib\";\nimport { getGlobalThis, localText, trimToNull } from \"@serenity-is/corelib/q\";\n\nexport type CardViewType = \"card\" | \"grid\";\n\nexport interface CardViewMixinOptions {\n grid: DataGrid;\n /* This can also return a React JSX VDOM but in that case ReactDOM \n should be available in the global namespace */\n renderItem: (item: TItem, index: number) => HTMLElement | any;\n viewType?: CardViewType;\n cardClass?: string;\n}\n\n/**\n * A mixin that can be applied to a DataGrid for card view functionality\n */\nexport class CardViewMixin {\n\n private dataGrid: DataGrid;\n private cardContainer: JQuery;\n\n constructor(private options: CardViewMixinOptions) {\n var dg = this.dataGrid = options.grid;\n\n var btnGroup = $(\n
\n \n \n \n \n \n \n
\n ).prependTo(dg.element.find('.grid-title'));\n\n this.cardContainer = $('
')\n .insertAfter(dg.element.children('.grid-container'));\n\n btnGroup.find('[data-view]').click((e) => {\n this.switchView($(e.target).closest('[data-view]').attr('data-view') as CardViewType);\n });\n\n if (options.viewType)\n this.switchView(this.options.viewType, false);\n\n this.resizeCardView();\n\n dg.element.bind('layout', () => this.resizeCardView());\n\n (dg.view as any).onDataChanged.subscribe(() => {\n this.updateCardItems();\n });\n\n var oldCurrentSettings = (dg as any).getCurrentSettings;\n (dg as any).getCurrentSettings = function (flag: GridPersistanceFlags) {\n var settings = oldCurrentSettings.apply(dg, [flag]);\n settings['viewType'] = btnGroup.find('[data-view].active').val();\n return settings;\n };\n\n var self = this;\n var oldRestoreSettings = (dg as any).restoreSettings;\n (dg as any).restoreSettings = function (settings?: PersistedGridSettings, flags?: GridPersistanceFlags) {\n oldRestoreSettings.apply(dg, [settings, flags]);\n\n if (settings == null) {\n var storage = this.getPersistanceStorage();\n if (storage == null)\n return;\n\n var json = trimToNull(storage.getItem(this.getPersistanceKey()));\n if (!json)\n return;\n\n settings = JSON.parse(json);\n }\n\n var viewType = (settings as any).viewType;\n if (viewType == \"card\" ||\n viewType == \"list\")\n self.switchView(viewType, false);\n };\n }\n\n public switchView(viewType: CardViewType, persist: boolean = true) {\n\n var button = this.dataGrid.element\n .find('.btn[data-view=\"' + viewType + '\"]');\n\n button.addClass('active').siblings('.active').not(button).removeClass('active');\n\n var card = viewType == 'card';\n this.dataGrid.element.children('.card-container').toggle(card);\n this.dataGrid.element.children('.grid-container').toggle(!card);\n\n if (card)\n this.updateCardItems();\n\n if (persist)\n (this.dataGrid as any).persistSettings();\n\n this.dataGrid.element.trigger('layout');\n }\n\n private updateCardItems() {\n const colClass = this.options.cardClass ?? \"col-12 col-md-6 col-lg-6 col-xxl-4\";\n\n $(this.cardContainer[0]).html('').append(\n
\n {this.dataGrid.getItems().map((item, index) =>\n
\n
{\n var node = this.options.renderItem(item, index);\n if (node instanceof HTMLElement) {\n el.appendChild(node);\n }\n else {\n getGlobalThis()?.ReactDOM.render(node as any, el);\n }\n }}>
\n
\n )}\n
\n );\n }\n\n private resizeCardView() {\n var gc = this.dataGrid.element.children('.grid-container');\n if (!gc.is(':visible'))\n return;\n var height = gc.height();\n if (height) {\n this.dataGrid.element.children('.card-container').css({\n height: height + 'px'\n });\n }\n }\n}\n\nif (typeof globalThis !== \"undefined\" && globalThis.Q && globalThis.Q.initFullHeightGridPage) {\n globalThis.Q.initFullHeightGridPage = function (gridDiv: JQuery) {\n $('body').addClass('full-height-page');\n gridDiv.addClass('responsive-height');\n var layout = function () {\n var inPageContent = gridDiv.parent().hasClass('page-content') ||\n gridDiv.parent().is('section.content');\n if (inPageContent) {\n gridDiv.css('height', '1px').css('overflow', 'hidden');\n }\n var cc = gridDiv.children('.card-container');\n if (cc.length && cc.is(':visible')) {\n cc.hide();\n gridDiv.children('.grid-container').show();\n try {\n globalThis.Q.layoutFillHeight(gridDiv);\n gridDiv.triggerHandler('layout');\n }\n finally {\n gridDiv.children('.grid-container').hide();\n cc.show();\n }\n }\n else {\n globalThis.Q.layoutFillHeight(gridDiv);\n if (inPageContent) {\n gridDiv.css('overflow', '');\n }\n gridDiv.triggerHandler('layout');\n }\n };\n if ($('body').hasClass('has-layout-event')) {\n $('body').bind('layout', layout);\n gridDiv.one('remove', function () {\n $(window).off('layout', layout);\n $('body').off('layout', layout);\n });\n }\n else if ((window as any).Metronic) {\n (window as any).Metronic.addResizeHandler(layout);\n }\n else {\n $(window).resize(layout);\n }\n layout();\n globalThis.Q.Router?.resolve();\n }\n}", "/* eslint-disable */\nconst keys = Object.keys\nfunction identity(value) {\n return value\n}\nfunction isBoolean(val) {\n return typeof val === \"boolean\"\n}\nfunction isElement(val) {\n return val && typeof val.nodeType === \"number\"\n}\nfunction isString(val) {\n return typeof val === \"string\"\n}\nfunction isNumber(val) {\n return typeof val === \"number\"\n}\nfunction isObject(val) {\n return typeof val === \"object\" ? val !== null : isFunction(val)\n}\nfunction isFunction(val) {\n return typeof val === \"function\"\n}\nfunction isComponentClass(Component) {\n const { prototype } = Component\n return !!(prototype && prototype.isReactComponent)\n}\nfunction isArrayLike(obj) {\n return isObject(obj) && typeof obj.length === \"number\" && typeof obj.nodeType !== \"number\"\n}\nfunction forEach(value, fn) {\n if (!value) return\n for (const key of keys(value)) {\n fn(value[key], key)\n }\n}\n\nfunction createRef() {\n return Object.seal({\n current: null,\n })\n}\nfunction isRef(maybeRef) {\n return isObject(maybeRef) && \"current\" in maybeRef\n}\n\nconst jsxDomType = Symbol.for(\"jsx-dom:type\")\nvar JsxDomType = /*#__PURE__*/ (function (JsxDomType) {\n JsxDomType[\"ShadowRoot\"] = \"ShadowRoot\"\n return JsxDomType\n})(JsxDomType || {})\nfunction ShadowRoot(_ref) {\n let { children, ref, ...attr } = _ref\n return {\n [jsxDomType]: JsxDomType.ShadowRoot,\n ref,\n attr,\n children,\n }\n}\nfunction isShadowRoot(el) {\n return el != null && el[jsxDomType] === JsxDomType.ShadowRoot\n}\n\nconst SVGNamespace = \"http://www.w3.org/2000/svg\"\n\n// https://facebook.github.io/react/docs/jsx-in-depth.html#booleans-null-and-undefined-are-ignored\n// Emulate JSX Expression logic to ignore certain type of children or className.\nfunction isVisibleChild(value) {\n return !isBoolean(value) && value != null\n}\nconst DomTokenList = typeof DOMTokenList !== \"undefined\" ? DOMTokenList : function () {}\n\n/**\n * Convert a `value` to a className string.\n * `value` can be a string, an array or a `Dictionary`.\n */\nfunction className(value) {\n if (Array.isArray(value)) {\n return value.map(className).filter(Boolean).join(\" \")\n } else if (value instanceof DomTokenList) {\n return \"\" + value\n } else if (isObject(value)) {\n return keys(value)\n .filter(k => value[k])\n .join(\" \")\n } else if (isVisibleChild(value)) {\n return \"\" + value\n } else {\n return \"\"\n }\n}\nfunction createFactory(tag) {\n return createElement.bind(null, tag)\n}\nfunction Fragment(attr) {\n const fragment = document.createDocumentFragment()\n appendChild(attr.children, fragment)\n return fragment\n}\nclass Component {\n constructor(props) {\n this.props = props\n }\n render() {\n return null\n }\n}\n\n/* @__PURE__ */\nObject.defineProperties(Component.prototype, {\n isReactComponent: {\n value: true,\n },\n})\nfunction initComponentClass(Class, attr, children) {\n attr = {\n ...attr,\n children,\n }\n const instance = new Class(attr)\n return instance.render()\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction jsx(tag, _ref) {\n let { children, ...attr } = _ref\n let node\n if (isString(tag)) {\n node = attr.namespaceURI\n ? document.createElementNS(attr.namespaceURI, tag)\n : document.createElement(tag)\n attributes(attr, node)\n appendChild(children, node)\n\n // Select `option` elements in `select`\n if (node instanceof window.HTMLSelectElement && attr.value != null) {\n if (attr.multiple === true && Array.isArray(attr.value)) {\n const values = attr.value.map(value => String(value))\n node\n .querySelectorAll(\"option\")\n .forEach(option => (option.selected = values.includes(option.value)))\n } else {\n node.value = attr.value\n }\n }\n attachRef(attr.ref, node)\n } else if (isFunction(tag)) {\n // Custom elements.\n if (isObject(tag.defaultProps)) {\n attr = {\n ...tag.defaultProps,\n ...attr,\n }\n }\n node = isComponentClass(tag)\n ? initComponentClass(tag, attr, children)\n : tag({\n ...attr,\n children,\n })\n } else {\n throw new TypeError(`Invalid JSX element type: ${tag}`)\n }\n return node\n}\nfunction createElement(tag, attr) {\n for (\n var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key2 = 2;\n _key2 < _len;\n _key2++\n ) {\n children[_key2 - 2] = arguments[_key2]\n }\n if (isString(attr) || Array.isArray(attr)) {\n children.unshift(attr)\n attr = {}\n }\n attr = attr || {}\n if (attr.children != null && !children.length) {\n ;({ children, ...attr } = attr)\n }\n return jsx(\n tag,\n {\n ...attr,\n children,\n },\n attr.key\n )\n}\nfunction attachRef(ref, node) {\n if (isRef(ref)) {\n ref.current = node\n } else if (isFunction(ref)) {\n ref(node)\n }\n}\nfunction appendChild(child, node) {\n if (isArrayLike(child)) {\n appendChildren(child, node)\n } else if (isString(child) || isNumber(child)) {\n appendChildToNode(document.createTextNode(child), node)\n } else if (child === null) {\n appendChildToNode(document.createComment(\"\"), node)\n } else if (isElement(child)) {\n appendChildToNode(child, node)\n } else if (isShadowRoot(child)) {\n const shadowRoot = node.attachShadow(child.attr)\n appendChild(child.children, shadowRoot)\n attachRef(child.ref, shadowRoot)\n }\n}\nfunction appendChildren(children, node) {\n for (const child of [...children]) {\n appendChild(child, node)\n }\n return node\n}\nfunction appendChildToNode(child, node) {\n if (node instanceof window.HTMLTemplateElement) {\n node.content.appendChild(child)\n } else {\n node.appendChild(child)\n }\n}\nfunction style(node, value) {\n if (value == null || value === false);\n else if (Array.isArray(value)) {\n value.forEach(v => style(node, v))\n } else if (isString(value)) {\n node.setAttribute(\"style\", value)\n } else if (isObject(value)) {\n forEach(value, (val, key) => {\n node.style[key] = val\n })\n }\n}\nfunction attribute(key, value, node) {\n switch (key) {\n case \"htmlFor\":\n attr(node, \"for\", value)\n return\n case \"dataset\":\n forEach(value, (dataValue, dataKey) => {\n if (dataValue != null) {\n node.dataset[dataKey] = dataValue\n }\n })\n return\n case \"innerHTML\":\n case \"innerText\":\n case \"textContent\":\n if (isVisibleChild(value)) {\n node[key] = value\n }\n return\n case \"dangerouslySetInnerHTML\":\n if (isObject(value)) {\n node.innerHTML = value[\"__html\"]\n }\n return\n case \"value\":\n if (value == null || node instanceof window.HTMLSelectElement) {\n // skip nullish values\n // for `\n
\n \n \n\n`)\n .prependTo(dg.element.find(\".grid-title\"));\n\n dropdown.on('shown.bs.dropdown', e => {\n dropdown.find('input[type=text]').focus();\n });\n\n var viewName = dropdown.find('li.save input[type=text]');\n\n dropdown.find('button.save-button').click(() => {\n var name = trimToNull(viewName.val());\n if (!name) {\n notifyWarning(localText(\"Site.FavoriteViewsMixin.EmptyNameError\"));\n return;\n }\n\n var favorites = this.getFavorites();\n favorites[name] = (dg as any).getCurrentSettings();\n this.saveFavorites(favorites);\n notifySuccess(format(localText(\"Site.FavoriteViewsMixin.SaveSuccessMessage\"), name));\n viewName.val('');\n this.populateFavorites();\n });\n\n this.ul = dropdown.children(\"ul\");\n this.ul.on('click', 'i.fa-trash-o', e => {\n var name = $(e.target).closest('li').children('a').text();\n var favorites = this.getFavorites();\n delete favorites[name];\n this.saveFavorites(favorites);\n this.populateFavorites();\n notifyWarning(format(localText(\"Site.FavoriteViewsMixin.DeleteSuccessMessage\"), name));\n });\n\n this.ul.on('click', 'a', e => {\n var name = $(e.target).text();\n var favorites = this.getFavorites();\n var settings = favorites[name];\n if (settings) {\n (dg as any).restoreSettings(settings);\n dg.refresh();\n notifySuccess(format(localText(\"Site.FavoriteViewsMixin.LoadedViewMessage\"), name));\n }\n });\n\n this.populateFavorites();\n }\n\n private populateFavorites() {\n var favorites = this.getFavorites();\n\n var saveLI = this.ul.children('.save');\n this.ul.children().not(saveLI).remove();\n\n var keys = Object.keys(favorites).sort();\n if (keys.length) {\n for (var k of keys) {\n var li = $('
  • ')\n .insertBefore(saveLI)\n .children('a')\n .text(k)\n .end();\n\n $('')\n .attr('title', localText(\"Site.FavoriteViewsMixin.DeleteButtonHint\"))\n .appendTo(li);\n }\n\n $('
  • ').insertBefore(saveLI);\n }\n }\n\n private saveFavorites(favorites: object) {\n var storage = (this.dataGrid as any).getPersistanceStorage() as SettingStorage;\n var key = \"Views:\" + (this.dataGrid as any).getPersistanceKey();\n storage.setItem(key, JSON.stringify(favorites));\n }\n\n private getFavorites() {\n var storage = (this.dataGrid as any).getPersistanceStorage() as SettingStorage;\n var key = \"Views:\" + (this.dataGrid as any).getPersistanceKey();\n return JSON.parse(storage.getItem(key) || \"{}\") || {};\n }\n}\n\nexport interface FavoriteViewsMixinOptions {\n // data grid object\n grid: DataGrid;\n}", "\uFEFFimport { DataGrid } from \"@serenity-is/corelib\";\nimport { Criteria, deepClone, ListRequest, ListResponse, serviceCall } from \"@serenity-is/corelib/q\";\nimport { Column } from \"@serenity-is/sleekgrid\";\nimport { HeaderFiltersPlugin, HeaderFilterType } from \"./HeaderFiltersPlugin\";\n\nexport interface HeadersFiltersMixinOptions {\n grid: DataGrid;\n filterByText?: boolean;\n}\n\n/**\n * A mixin that can be applied to a DataGrid for column filters functionality\n */\nexport class HeaderFiltersMixin {\n\n private filterByText: boolean;\n\n constructor(options: HeadersFiltersMixinOptions) {\n \n var skipColumnFilters: Column = null;\n var cache: any = {};\n\n if (options.filterByText == null) {\n this.filterByText = !options.grid.view.url || \n !options.grid.view['getPagingInfo']().rowsPerPage;\n }\n else\n this.filterByText = !!options.filterByText;\n\n var filterPlugin = new HeaderFiltersPlugin({\n getFilterType: (col: Column) => {\n if (this.filterByText)\n return HeaderFilterType.text;\n\n if (col.sortable != null && !col.sortable)\n return HeaderFilterType.disabled;\n\n if (col.sourceItem != null && \n col.sourceItem.notFilterable != null &&\n col.sourceItem.notFilterable)\n return HeaderFilterType.disabled;\n\n return HeaderFilterType.value;\n },\n getFilterValues: (col: Column, done: (vals: any[]) => void) => {\n if (col.headerFilterType == HeaderFilterType.text)\n return done(null);\n\n skipColumnFilters = col;\n try {\n if (!(options.grid as any).onViewSubmit()) {\n done([]);\n return;\n }\n }\n finally {\n skipColumnFilters = null;\n }\n\n var req = deepClone(options.grid.view.params) as ListRequest;\n req.DistinctFields = [col.field];\n req.Skip = 0;\n req.Take = 0;\n var cacheKey = $.toJSON(req);\n var cached = cache[cacheKey];\n if (cached && cached.expires > new Date().getTime())\n done(cached.value);\n else {\n serviceCall({\n request: req,\n url: options.grid.view.url,\n onSuccess: (response: ListResponse) => {\n cache[cacheKey] = {\n value: response.Values,\n expires: new Date().getTime() + 1000 * 30\n };\n done(response.Values);\n }\n });\n }\n }\n });\n\n filterPlugin.onFilterApplied.subscribe((e, data) => {\n var column = data.column as Column;\n if (column && column.headerFilterType == HeaderFilterType.text)\n options.grid.view.setItems(options.grid.view.getItems(), true);\n else\n options.grid.refresh();\n });\n\n options.grid.slickGrid.registerPlugin(filterPlugin);\n\n var me = this;\n\n var oldOnViewSubmit = (options.grid as any).onViewSubmit;\n (options.grid as any).onViewSubmit = function () {\n if (!oldOnViewSubmit.call(this))\n return false;\n\n var cols = this.slickGrid.getColumns() as Column[];\n var request = (this.view.params as ListRequest);\n for (var col of cols) {\n if (col === skipColumnFilters ||\n col.headerFilterType == HeaderFilterType.text)\n continue;\n\n var vals = col.headerFilterValues;\n if (vals && vals.length) {\n var nonNull = vals.filter((z: any) => z != null);\n var criteria = Criteria(col.field).in(nonNull);\n if (nonNull.length !== vals.length) {\n if (nonNull.length > 0)\n criteria = Criteria.or(Criteria(col.field).isNull(), criteria);\n else\n criteria = Criteria(col.field).isNull();\n }\n\n request.Criteria = Criteria.and(request.Criteria, criteria);\n }\n }\n\n return true;\n };\n\n var oldOnViewFilter = (options.grid as any).onViewFilter;\n (options.grid as any).onViewFilter = function (item: any) {\n if (!oldOnViewFilter.apply(this, arguments))\n return false;\n\n var cols = this.slickGrid.getColumns() as Column[];\n for (var col of cols) {\n if (col.headerFilterType != HeaderFilterType.text)\n continue;\n\n var vals = col.headerFilterValues;\n if (vals && vals.length) {\n var filterValue = filterPlugin.getFilterValue(item, col);\n if (vals.indexOf(filterValue) < 0)\n return false;\n }\n }\n\n return true;\n };\n }\n}", "\uFEFFimport { htmlEncode, tryGetText } from \"@serenity-is/corelib/q\";\nimport { RemoteView } from \"@serenity-is/corelib/slick\";\nimport { Column, EventEmitter, EventSubscriber, Grid } from \"@serenity-is/sleekgrid\";\n\nexport enum HeaderFilterType {\n disabled = 0,\n value = 1,\n text = 2\n}\n\ndeclare module \"@serenity-is/sleekgrid\" {\n interface Column {\n headerFilterType?: HeaderFilterType;\n headerFilterValues?: object[];\n }\n}\n\n/*\n Based on SlickGrid Header Menu Plugin (https://github.com/mleibman/SlickGrid/blob/master/plugins/slick.headermenu.js)\n Based on SlickGrid Spreadsheet Plugins (https://github.com/danny-sg/slickgrid-spreadsheet-plugins/blob/master/ext.headerfilter.js)\n (Can't be used at the same time as the header menu plugin as it implements the dropdown in the same way)\n*/\n\nexport interface HeaderFiltersOptions {\n buttonImage?: string;\n buttonClass?: string;\n useColumnFormatter?: boolean;\n getFilterValues?: (column: Column, callback: (values: object[], texts?: string[]) => void) => void;\n getFilterType?: (column: Column) => HeaderFilterType;\n}\n\nexport class HeaderFiltersPlugin {\n\n private grid: Grid;\n private menu: JQuery;\n private searchInput: JQuery;\n private handler: EventSubscriber;\n private options: HeaderFiltersOptions;\n private checkedValues : any = new window['Set']();\n private filterValues: object[];\n private filterTexts: string[];\n public onFilterApplied = new EventEmitter();\n public onCommand = new EventEmitter();\n\n constructor(options: HeaderFiltersOptions) {\n this.handler = new EventSubscriber();\n\n var defaults: HeaderFiltersOptions = {\n buttonClass: \"headerfilterbutton\",\n useColumnFormatter: true,\n getFilterValues: null\n };\n\n this.options = $.extend(true, {}, defaults, options);\n this.handleMenuItemClick = this.handleMenuItemClick.bind(this);\n }\n \n init(g: Grid) {\n \n this.grid = g;\n this.handler.subscribe(g.onHeaderCellRendered, this.handleHeaderCellRendered.bind(this))\n .subscribe(g.onBeforeHeaderCellDestroy, this.handleBeforeHeaderCellDestroy.bind(this))\n .subscribe(g.onClick, this.handleBodyMouseDown.bind(this))\n .subscribe(g.onColumnsResized, this.columnsResized.bind(this));\n\n g.setColumns(g.getColumns());\n\n $(document.body).bind(\"mousedown\", this.handleBodyMouseDown = this.handleBodyMouseDown.bind(this));\n }\n\n destroy() {\n this.handler.unsubscribeAll();\n $(document.body).unbind(\"mousedown\", this.handleBodyMouseDown);\n }\n\n getFilterType(column: Column) {\n if (column.headerFilterType != null)\n return column.headerFilterType;\n\n if (this.options.getFilterType != null) {\n column.headerFilterType = this.options.getFilterType(column);\n if (column.headerFilterType != null)\n return column.headerFilterType;\n }\n\n if (column.headerFilterType == null)\n column.headerFilterType = HeaderFilterType.value;\n\n return column.headerFilterType;\n }\n\n private handleBodyMouseDown(e: any) {\n if (this.menu && this.menu[0] != e.target && !$.contains(this.menu[0], e.target)) {\n this.hideMenu();\n }\n }\n\n private hideMenu() {\n if (this.menu) {\n this.menu.remove();\n this.menu = null;\n }\n }\n\n private handleHeaderCellRendered(e: any, args: any) {\n var column = args.column as Column;\n\n var filterType = this.getFilterType(column);\n if (filterType === HeaderFilterType.disabled)\n return false;\n\n var $el = $(\"\")\n .addClass(\"slick-header-menubutton s-header-filter-button\")\n .data(\"column\", column);\n\n if (this.options.buttonImage) {\n $el.css(\"background-image\", \"url(\" + this.options.buttonImage + \")\");\n }\n\n this.setButtonIsFiltered($el, column.headerFilterValues != null && column.headerFilterValues.length > 0);\n\n $(args.node).addClass('has-header-menubutton');\n $el.on(\"click\", e => {\n e.stopPropagation();\n this.showFilter(e);\n }).appendTo(args.node);\n }\n\n private handleBeforeHeaderCellDestroy(e: any, args: any) {\n $(args.node)\n .find(\".s-header-filter-button\")\n .remove();\n }\n\n private addMenuItem(menu: JQuery, columnDef: Column, title: string, command: string, image: string) {\n var $item = $(\"
    \")\n .data(\"command\", command)\n .data(\"column\", columnDef)\n .bind(\"click\", this.handleMenuItemClick)\n .appendTo(menu);\n\n var $icon = $(\"
    \")\n .appendTo($item);\n\n if (image) {\n $icon.css(\"background-image\", \"url(\" + image + \")\");\n }\n\n $(\"\")\n .text(title)\n .appendTo($item);\n }\n\n private addSearchInput(menu: JQuery, columnDef: Column) {\n return $('')\n .data(\"column\", columnDef)\n .bind(\"keyup\", (e) => {\n this.updateFilterValues(columnDef, () => {});\n })\n .appendTo(menu);\n }\n\n private updateFilterItems(columnDef: Column) {\n var filterOptions = \"\";\n\n this.checkedValues = new window['Set'](columnDef.headerFilterValues || []);\n\n for (var i = 0; i < this.filterValues.length; i++) {\n var filtered = this.checkedValues.has(this.filterValues[i]);\n filterOptions += \"\";\n }\n\n var $filter = this.menu.find('.filter');\n $filter.empty().append($(filterOptions));\n\n $(':checkbox', $filter).bind('click', e => {\n this.onCheckboxClick($(e.target));\n });\n }\n\n private getFilterText(item: any, column: Column): string {\n var value = item[column.field];\n\n if (this.options.useColumnFormatter) {\n try {\n var format = this.grid.getFormatter(-1, column);\n if (format) {\n var ctx = this.grid.getFormatterContext(-1, -1);\n ctx.item = item;\n ctx.value = value;\n var html = format(ctx);\n\n if (value == null && html === '') {\n return (htmlEncode(tryGetText(\"Site.HeaderFiltersMixin.Null\") || \"(null)\"));\n }\n\n return html;\n }\n }\n catch (ex) {\n }\n }\n\n if (value == null)\n return (htmlEncode(tryGetText(\"Site.HeaderFiltersMixin.Null\") || \"(null)\"));\n\n return htmlEncode(value);\n }\n\n private showFilter(e: any) {\n var $menuButton = $(e.target);\n var columnDef = $menuButton.data(\"column\") as Column;\n\n this.checkedValues = new window['Set'](columnDef.headerFilterValues || []);\n\n if (!this.menu)\n this.menu = $(\"
    \").appendTo(document.body).hide();\n else\n this.menu.empty();\n\n this.searchInput = this.addSearchInput(this.menu, columnDef);\n\n var filterOptions = \"\";\n\n var $filter = $(\"
    \")\n .appendTo(this.menu);\n\n var buttons = $('
    ').appendTo(this.menu);\n\n $('')\n .appendTo(buttons)\n .bind('click', ev => {\n if (Array['from']) {\n columnDef.headerFilterValues = Array['from'](this.checkedValues);\n }\n else {\n columnDef.headerFilterValues = [];\n this.checkedValues && this.checkedValues.forEach((x: any) => columnDef.headerFilterValues.push(x));\n }\n this.setButtonIsFiltered($menuButton, columnDef.headerFilterValues.length > 0);\n this.handleApply(ev, columnDef);\n });\n\n $('')\n .appendTo(buttons)\n .bind('click', ev => {\n if (columnDef.headerFilterValues)\n columnDef.headerFilterValues.length = 0;\n this.setButtonIsFiltered($menuButton, false);\n this.handleApply(ev, columnDef);\n });\n\n $('')\n .appendTo(buttons)\n .bind('click', e => this.hideMenu());\n\n $(':checkbox', $filter).bind('click', (e) => {\n this.onCheckboxClick($(e.target));\n });\n\n this.updateFilterValues(columnDef, () => {\n this.menu.show();\n $filter.css('height', null);\n var menuHeight = this.menu.height();\n var buttonHeight = $(e.target).height();\n\n var offset = $(e.target).offset();\n var left = offset.left - this.menu.width() + $(e.target).width() - 8;\n\n var menuTop = offset.top + buttonHeight;\n\n var windowScrollTop = $(window).scrollTop();\n var bottomBoundary = $(window).height() + windowScrollTop;\n var contentWrapperTop = (parseInt($('div.content-wrapper').css('padding-top'), 10) || 0);\n\n if (menuTop + menuHeight > bottomBoundary &&\n bottomBoundary - menuTop + contentWrapperTop < menuTop - windowScrollTop) {\n menuTop -= (menuHeight + buttonHeight + 8);\n\n if (menuTop < windowScrollTop)\n menuTop = windowScrollTop;\n }\n\n var extraHeight = menuTop + menuHeight - bottomBoundary;\n\n if (extraHeight > 0) {\n $filter.css('height', ($filter.height() - extraHeight));\n }\n\n this.menu.css(\"top\", menuTop).css(\"left\", (left > 0 ? left : 0));\n });\n }\n\n private columnsResized() {\n this.hideMenu();\n }\n\n private onCheckboxClick($checkbox: JQuery) {\n var index = $checkbox.val();\n var $filter = $checkbox.parent().parent();\n\n if ($checkbox.val() < 0) {\n if ($checkbox.prop('checked')) {\n $(':checkbox', $filter).prop('checked', true);\n this.checkedValues = new window['Set'](this.filterValues || []);\n } else {\n $(':checkbox', $filter).prop('checked', false);\n this.checkedValues.clear();\n }\n } else {\n var value = this.filterValues[index];\n var has = this.checkedValues.has(value);\n\n if ($checkbox.prop('checked') && !has) {\n this.checkedValues.add(value);\n }\n else if (has) {\n this.checkedValues.delete(value);\n }\n }\n }\n\n private setButtonIsFiltered($el: JQuery, filtered: boolean) {\n $el.toggleClass('is-filtered', filtered);\n }\n\n private handleApply(e: any, columnDef: Column) {\n this.hideMenu();\n\n this.onFilterApplied.notify({ \n \"grid\": this.grid, \n \"column\": columnDef \n }, e, this);\n\n e.preventDefault();\n e.stopPropagation();\n }\n\n private containsFilter(filter: string): ((text: string) => boolean) {\n if (filter == null && filter.length == 0)\n return v => true;\n\n var lowercaseFilter = htmlEncode(filter).toLowerCase();\n\n return (text: string) => {\n text = (text ?? '').toString().replace(/<[^>]+>/g, '').toLowerCase();\n return text.indexOf(lowercaseFilter) >= 0;\n };\n }\n\n public getFilterValue(item: any, column: Column) {\n var value = item[column.field];\n if (this.options.useColumnFormatter &&\n column.formatter != null &&\n column.headerFilterType == HeaderFilterType.text) {\n return (this.getFilterText(item, column)\n .replace(/<[^>]+>/g, ''));\n }\n\n return value;\n }\n\n private sortFilterValues() {\n var idx: number[] = [];\n for (var i = 0; i < this.filterValues.length; i++) {\n idx[i] = i;\n }\n idx.sort((x, y) => {\n var A = this.filterValues[x];\n var B = this.filterValues[y];\n return (A < B ? -1 : (A > B ? 1 : 0));\n });\n var newFilterValues = [];\n var newFilterTexts = [];\n for (var i = 0; i < idx.length; i++) {\n newFilterValues.push(this.filterValues[i]);\n newFilterTexts.push(this.filterTexts[i]);\n }\n this.filterValues = newFilterValues;\n this.filterTexts = newFilterTexts;\n }\n\n private updateFilterValues(column: Column, done: () => void) {\n if (this.options.getFilterValues != null) {\n this.options.getFilterValues(column, (values: object[], texts: string[]) => {\n if (values == null) {\n this.updateFilterValuesFromData(column);\n this.updateFilterItems(column);\n done();\n }\n else {\n this.filterValues = [];\n this.filterTexts = [];\n\n texts = texts || values.map(x => {\n var item: any = {};\n item[column.field] = x;\n return this.getFilterText(item, column);\n });\n\n var filter = this.containsFilter(this.searchInput.val());\n this.filterValues = values.filter((x, i) => {\n if (filter(texts[i])) {\n this.filterTexts.push(texts[i]);\n return true;\n }\n\n return false;\n });\n\n this.sortFilterValues();\n this.updateFilterItems(column);\n done();\n }\n });\n }\n else {\n this.updateFilterValuesFromData(column);\n this.updateFilterItems(column);\n done();\n }\n }\n\n private updateFilterValuesFromData(column: Column) {\n\n this.filterValues = [];\n this.filterTexts = [];\n var dataView = ((this.grid.getData() as any) as RemoteView);\n \n var items: any[];\n if (this.checkedValues && this.checkedValues.size) {\n items = dataView.getItems();\n }\n else {\n items = [];\n for (var i = 0; i < dataView.getLength(); i++) {\n items.push(dataView.getItem(i));\n }\n }\n\n var seen = new window['Set']();\n var searchText = this.searchInput.val();\n var searchFilter = this.containsFilter(searchText);\n for (var item of items) {\n var value = this.getFilterValue(item, column);\n if (!seen.has(value)) {\n var text = this.getFilterText(item, column);\n if (searchFilter(text)) {\n seen.add(value);\n this.filterValues.push(value);\n this.filterTexts.push(text);\n }\n }\n }\n \n this.sortFilterValues();\n }\n\n private handleMenuItemClick(e: any) {\n var command = $(this).data(\"command\");\n var columnDef = $(this).data(\"column\");\n\n this.hideMenu();\n\n this.onCommand.notify({\n \"grid\": this,\n \"column\": columnDef,\n \"command\": command\n }, e, this);\n\n e.preventDefault();\n e.stopPropagation();\n }\n}\n\ntypeof globalThis != \"undefined\" && globalThis[\"Slick\"] && globalThis[\"Slick\"][\"Plugins\"] && (globalThis.Slick[\"Plugins\"][\"HeaderFilters\"] = HeaderFiltersPlugin);\n", "\uFEFFimport { htmlEncode, resolveUrl, localText, format } from \"@serenity-is/corelib/q\";\n\nexport interface IdleTimeoutOptions {\n /** which events to consider as an activity. */\n activityEvents?: string;\n /** signout user if no activity within this duration (seconds). default is 900 (15 mins). */\n activityTimeout?: number;\n /** optional callback that is called just before signing out */\n beforeSignout?: () => void;\n /** interval for checking timer, default is 5 seconds */\n checkInterval?: number;\n /** interval for calling keep alive url in seconds, default is 300 (5 mins) */\n keepAliveTimer?: number;\n /** keep alive url */\n keepAliveUrl?: string;\n /** url used to signout user */\n signoutUrl?: string;\n /** show warning for this number of seconds */\n warningDuration?: number;\n}\n\nexport class IdleTimeout {\n\n private options: IdleTimeoutOptions;\n private idleTimer: number;\n private keepAliveTimer: number;\n private warningTimer: number;\n private remainingTimer: number;\n\n constructor(options: IdleTimeoutOptions) {\n this.options = $.extend({}, IdleTimeout.defaults, options);\n\n localStorage.setItem('IdleTimeout:LastActivity', $.now().toString());\n localStorage.removeItem('IdleTimeout:Signout');\n\n var mouseX: number, mouseY: number;\n $('body').on(this.options.activityEvents, e => {\n\n if (e.type == 'mousemove') {\n\n if (e.clientX == mouseX && e.clientY == mouseY)\n return;\n\n mouseX = e.clientX;\n mouseY = e.clientY;\n }\n\n if (!this.isWarningActive()) {\n this.resetIdleTimer();\n }\n });\n\n if (this.options.keepAliveTimer)\n this.startKeepAliveTimer();\n\n this.resetIdleTimer();\n }\n\n protected startKeepAliveTimer() {\n\n clearTimeout(this.keepAliveTimer);\n\n var keepSessionAlive = () => {\n $.get(resolveUrl(this.options.keepAliveUrl) + '?' + new Date().getTime());\n this.startKeepAliveTimer();\n };\n\n this.keepAliveTimer = setTimeout(keepSessionAlive, this.options.keepAliveTimer * 1000);\n }\n\n protected isWarningActive() {\n return $('#idle-timeout-warning').is(':visible');\n }\n\n protected startWarningTimer() {\n this.warningTimer = setInterval(() => this.warningTimeout(), this.options.checkInterval * 1000);\n }\n\n protected stopWarningTimer() {\n clearInterval(this.warningTimer);\n clearInterval(this.remainingTimer);\n };\n\n protected warningTimeout() {\n if (this.getRemainingSeconds() < 0)\n this.signout();\n }\n\n protected resetIdleTimer() {\n clearTimeout(this.idleTimer);\n localStorage.setItem('IdleTimeout:LastActivity', $.now().toString());\n this.idleTimeout();\n };\n\n protected idleTimeout() {\n this.checkActivityTimeout();\n this.idleTimer = setTimeout(() => this.idleTimeout(), this.options.checkInterval * 1000);\n };\n\n protected checkActivityTimeout() {\n\n var timeLimit = parseInt(localStorage.getItem('IdleTimeout:LastActivity') || $.now().toString()) +\n (this.options.activityTimeout - (this.options.warningDuration || 0)) * 1000;\n\n if ($.now() > timeLimit) {\n if (!this.options.warningDuration) {\n this.signout();\n } else {\n this.showWarning();\n this.startWarningTimer();\n }\n } else if (localStorage.getItem('IdleTimeout:Signout')) {\n this.signout();\n } else if (this.isWarningActive()) {\n this.closeWarning();\n this.stopWarningTimer();\n }\n }\n\n protected signout() {\n localStorage.setItem('IdleTimeout:Signout', \"1\");\n clearTimeout(this.keepAliveTimer);\n this.stopWarningTimer();\n this.closeWarning();\n this.options.beforeSignout && this.options.beforeSignout();\n if (this.options.signoutUrl)\n window.location.href = resolveUrl(this.options.signoutUrl);\n }\n\n protected showWarning() {\n var warningDialog = $('#idle-timeout-warning');\n if (!warningDialog.length) {\n warningDialog = $(`
    \n
    \n
    \n
    \n

    ${htmlEncode(localText(\"Controls.IdleTimeout.WarningTitle\"))}

    \n \n
    \n
    \n

    ${htmlEncode(localText(\"Controls.IdleTimeout.WarningMessage\"))}

    \n

    ${format(htmlEncode(localText(\"Controls.IdleTimeout.CountdownMessage\")), ` `)}

    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    `).appendTo(document.body);\n\n $('#idle-timeout-warning-signout').on('click', () => this.signout());\n warningDialog.on('hide.bs.modal', () => {\n clearTimeout(this.warningTimer);\n clearTimeout(this.remainingTimer);\n this.resetIdleTimer();\n });\n }\n\n warningDialog['modal']('show');\n this.countdownDisplay();\n }\n\n protected closeWarning() {\n var warning = $('#idle-timeout-warning').off('hide.bs.modal');\n if (warning.length && warning.data() && warning.data()['bs.modal'] && warning.data()['bs.modal'].isShown) {\n warning.removeClass('fade');\n warning['modal']('hide');\n warning.remove();\n }\n }\n\n protected getRemainingSeconds() {\n var timeLimit = parseInt(localStorage.getItem('IdleTimeout:LastActivity') || $.now().toString()) +\n (this.options.activityTimeout * 1000);\n return Math.ceil(((timeLimit - $.now()) / 1000));\n }\n\n protected countdownDisplay() {\n clearTimeout(this.remainingTimer);\n var update = () => {\n var remainingSeconds = Math.max(this.getRemainingSeconds(), 1);\n var percentLeft = 100 * Math.max(1, remainingSeconds) / (this.options.warningDuration || 1);\n $('#idle-timeout-progress').css('width', percentLeft + '%');\n $('#idle-timeout-seconds').text(remainingSeconds);\n };\n this.remainingTimer = setInterval(update, 500);\n update();\n };\n\n static defaults: IdleTimeoutOptions = {\n activityEvents: 'click keyup mouseup mousemove scroll touchend touchmove wheel mousewheel',\n activityTimeout: 900,\n checkInterval: 5,\n keepAliveTimer: 300,\n keepAliveUrl: '~/Account/KeepAlive',\n signoutUrl: '~/Account/Signout',\n warningDuration: 60,\n }\n}\n", "\uFEFFexport function setupUIOverrides() {\n // no-op, all overrides are moved to corelib\n}", "import { Decorators, EntityGrid, GridUtils, LookupEditor, LookupEditorOptions, QuickFilterBar, SelectEditor, ToolButton, Widget } from \"@serenity-is/corelib\";\nimport { confirmDialog, Dictionary, format, isEmptyOrNull, isTrimmedEmpty, localText, notifyError, notifySuccess, outerHtml, serviceCall, ServiceResponse, trimToEmpty, trimToNull } from \"@serenity-is/corelib/q\";\nimport { TranslationItem, TranslationListResponse, TranslationUpdateRequest, TranslationUpdateResponse } from \"@serenity-is/extensions\";\nimport { Column } from \"@serenity-is/sleekgrid\";\nimport copyToClipboard from \"../Tools/CopyToClipboard\";\n\n@Decorators.registerClass('Serenity.Extensions.TranslationGrid')\nexport class TranslationGrid extends EntityGrid {\n protected getIdProperty() { return \"Key\"; }\n protected getLocalTextDbPrefix() { return \"Site.Translation.\"; }\n protected getService() { return \"Administration/Translation\" }\n\n private hasChanges: boolean;\n private searchText: string;\n private sourceLanguage: LookupEditor;\n private targetLanguage: LookupEditor;\n private targetLanguageKey: string;\n\n constructor(container: JQuery) {\n super(container);\n\n this.element.on('keyup.' + this.uniqueName + ' change.' + this.uniqueName,\n 'input.custom-text', e => {\n var value = trimToNull($(e.target).val());\n if (value === '') {\n value = null;\n }\n this.view.getItemById($(e.target).data('key')).CustomText = value;\n this.hasChanges = true;\n });\n }\n\n protected onClick(e: JQueryEventObject, row: number, cell: number): any {\n super.onClick(e, row, cell);\n\n if (e.isDefaultPrevented()) {\n return;\n }\n\n let item = this.itemAt(row);\n let done: () => void;\n\n if ($(e.target).hasClass('source-text')) {\n e.preventDefault();\n\n done = () => {\n item.CustomText = item.SourceText;\n this.view.updateItem(item.Key, item);\n this.hasChanges = true;\n };\n\n if (isTrimmedEmpty(item.CustomText) ||\n (trimToEmpty(item.CustomText) === trimToEmpty(item.SourceText))) {\n done();\n return;\n }\n\n confirmDialog(localText('Site.Translation.OverrideConfirmation'), done);\n return;\n }\n\n if ($(e.target).hasClass('target-text')) {\n e.preventDefault();\n\n done = () => {\n item.CustomText = item.TargetText;\n this.view.updateItem(item.Key, item);\n this.hasChanges = true;\n };\n\n if (isTrimmedEmpty(item.CustomText) ||\n (trimToEmpty(item.CustomText) === trimToEmpty(item.TargetText))) {\n done();\n return;\n }\n\n confirmDialog(localText('Site.Translation.OverrideConfirmation'), done);\n return;\n }\n }\n\n protected getColumns(): Column[] {\n\n var columns: Column[] = [];\n columns.push({ field: 'Key', width: 300, sortable: false });\n\n columns.push({\n field: 'SourceText',\n width: 300,\n sortable: false,\n format: ctx => {\n return outerHtml($('')\n .addClass('source-text')\n .text(ctx.value || ''));\n }\n });\n\n columns.push({\n field: 'CustomText',\n width: 300,\n sortable: false,\n format: ctx => outerHtml($('')\n .addClass('custom-text')\n .attr('value', ctx.value)\n .attr('type', 'text')\n .attr('data-key', ctx.item.Key))\n });\n\n columns.push({\n field: 'TargetText',\n width: 300,\n sortable: false,\n format: ctx => outerHtml($('')\n .addClass('target-text')\n .text(ctx.value || ''))\n });\n\n return columns;\n }\n\n protected createToolbarExtensions(): void {\n super.createToolbarExtensions();\n\n let opt: LookupEditorOptions = {\n lookupKey: 'Administration.Language'\n };\n\n this.sourceLanguage = Widget.create({\n type: LookupEditor,\n element: el => el.appendTo(this.toolbar.element).attr('placeholder', '--- ' +\n localText('Site.Translation.SourceLanguage') + ' ---'),\n options: opt\n });\n\n this.sourceLanguage.changeSelect2(e => {\n if (this.hasChanges) {\n this.saveChanges(this.targetLanguageKey).then(() => this.refresh());\n }\n else {\n this.refresh();\n }\n });\n\n this.targetLanguage = Widget.create({\n type: LookupEditor,\n element: el => el.appendTo(this.toolbar.element).attr('placeholder', '--- ' +\n localText('Site.Translation.TargetLanguage') + ' ---'),\n options: opt\n });\n\n this.targetLanguage.changeSelect2(e => {\n if (this.hasChanges) {\n this.saveChanges(this.targetLanguageKey).then(() => this.refresh());\n }\n else {\n this.refresh();\n }\n });\n }\n\n protected getQuickFilters() {\n var filters = super.getQuickFilters();\n\n var userTranslated = QuickFilterBar.boolean('UserTranslated',\n localText('Site.Translation.UserTranslated'));\n userTranslated.init = w => w.changeSelect2(() => this.hasChanges && this.saveChanges(this.targetLanguageKey));\n\n filters.push(userTranslated);\n\n var hasTranslation = QuickFilterBar.boolean('HasTranslation',\n localText('Site.Translation.HasTranslation'));\n hasTranslation.init = w => w.changeSelect2(() => this.hasChanges && this.saveChanges(this.targetLanguageKey));\n\n filters.push(hasTranslation);\n\n filters.push({\n field: 'Assembly',\n cssClass: 'Assembly',\n title: localText('Site.Translation.Assembly'),\n type: SelectEditor\n });\n\n return filters;\n }\n\n private keysByAssembly: Dictionary>;\n\n protected onViewProcessData(response: TranslationListResponse) {\n response = super.onViewProcessData(response);\n this.keysByAssembly = {};\n var assembly = this.tryFindQuickFilter(SelectEditor, \"Assembly\");\n if (assembly) {\n var value = assembly.value;\n assembly.clearItems();\n var asmNames = Object.keys(response.KeysByAssembly);\n asmNames.sort();\n for (var asmName of asmNames) {\n var asmKeys = response.KeysByAssembly[asmName];\n if (!asmKeys?.length)\n continue;\n assembly.addOption(asmName, asmName);\n var keys = this.keysByAssembly[asmName] = {};\n for (var key of asmKeys)\n keys[key] = true;\n }\n assembly.element.select2('val', value);\n }\n return response;\n }\n\n protected saveChanges(language: string): PromiseLike {\n var translations: { [key: string]: string } = {};\n for (let item of this.getItems()) {\n translations[item.Key] = item.CustomText;\n }\n\n return serviceCall({\n service: this.getService() + \"/Update\",\n request: {\n TargetLanguageID: language,\n Translations: translations\n }\n }).then((response: TranslationUpdateResponse) => {\n this.hasChanges = false;\n notifySuccess(format(localText('Site.Translation.SaveSuccessMessage'), response.SavedPath));\n });\n }\n\n protected onViewSubmit(): boolean {\n var request = this.view.params;\n request.SourceLanguageID = this.sourceLanguage.value;\n this.targetLanguageKey = this.targetLanguage.value || '';\n request.TargetLanguageID = this.targetLanguageKey;\n this.hasChanges = false;\n return super.onViewSubmit();\n }\n\n protected getButtons(): ToolButton[] {\n return [\n {\n title: localText('Site.Translation.SaveChangesButton'),\n onClick: _ => this.saveChanges(this.targetLanguageKey).then(() => this.refresh()),\n cssClass: 'apply-changes-button'\n },\n {\n hint: localText(\"Site.Translation.CopySourceTranslations\"),\n cssClass: 'copy-source-to-clipboard',\n icon: 'fa fa-clone',\n onClick: () => {\n var length = this.slickGrid.getDataLength();\n var d = {};\n for (var i = 0; i < length; i++) {\n var item = this.slickGrid.getDataItem(i) as TranslationItem;\n d[item.Key] = item.SourceText;\n }\n\n copyToClipboard(JSON.stringify(d, null, ' '))\n .then(() => notifySuccess(localText(\"Site.Translation.CopySuccessMessage\")))\n .catch(() => notifyError(localText(\"Site.Translation.CopyFailMessage\")))\n }\n },\n {\n hint: localText(\"Site.Translation.CopyTargetTranslations\"),\n cssClass: 'copy-target-to-clipboard',\n icon: 'fa fa-copy',\n onClick: () => {\n var length = this.slickGrid.getDataLength();\n var d = {};\n for (var i = 0; i < length; i++)\n {\n var item = this.slickGrid.getDataItem(i) as TranslationItem;\n d[item.Key] = item.CustomText?.length ? item.CustomText :\n item.HasTranslation ? item.TargetText : null;\n }\n\n copyToClipboard(JSON.stringify(d, null, ' '))\n .then(() => notifySuccess(localText(\"Site.Translation.CopySuccessMessage\")))\n .catch(() => notifyError(localText(\"Site.Translation.CopyFailMessage\")))\n }\n }\n ];\n }\n\n protected createQuickSearchInput() {\n GridUtils.addQuickSearchInputCustom(this.toolbar.element,\n (_, searchText, done) => {\n this.searchText = searchText;\n this.view.setItems(this.view.getItems(), true);\n done(this.slickGrid.getDataLength() > 0);\n });\n }\n\n protected onViewFilter(item: TranslationItem) {\n if (!super.onViewFilter(item))\n return false;\n\n var userTranslated = this.tryFindQuickFilter(SelectEditor, \"UserTranslated\");\n if (userTranslated?.value?.length) {\n if (userTranslated.value == \"1\" && !item.UserTranslated)\n return false;\n\n if (userTranslated.value == \"0\" && item.UserTranslated)\n return false;\n }\n\n var hasTranslation = this.tryFindQuickFilter(SelectEditor, \"HasTranslation\");\n if (hasTranslation?.value?.length) {\n if (hasTranslation.value == \"1\" && !item.HasTranslation)\n return false;\n\n if (hasTranslation.value == \"0\" && item.HasTranslation)\n return false;\n }\n\n var assembly = this.tryFindQuickFilter(SelectEditor, \"Assembly\");\n if (assembly?.value?.length) {\n var kba = (this.keysByAssembly || {})[assembly.value];\n if (!kba || !kba[item.Key])\n return false;\n }\n\n if (!this.searchText)\n return true;\n\n var sd = Select2.util.stripDiacritics;\n var searching = sd(this.searchText).toLowerCase();\n\n function match(str: string) {\n if (!str)\n return false;\n\n return str.toLowerCase().indexOf(searching) >= 0;\n }\n\n return isEmptyOrNull(searching) || match(item.Key) || match(item.SourceText) ||\n match(item.TargetText) || match(item.CustomText);\n }\n\n protected usePager() {\n return false;\n }\n}", "\nexport default async function copyToClipboard(text: string) {\n try {\n await navigator.clipboard.writeText(text);\n } catch (err) {\n var el = document.createElement('textarea');\n el.setAttribute('style', `position: absolute, left: -9999px, top: ${(window.pageYOffset || document.documentElement.scrollTop)}px`);\n el.setAttribute('readonly', '');\n el.value = text;\n var lastDialog = $('.ui-dialog-content:visible').last();\n if (lastDialog.length)\n lastDialog.append(el);\n else\n document.body.append(el);\n el.select();\n (document as any)[\"execCommand\"](\"copy\");\n el.remove();\n }\n}", "import { Decorators, PropertyGrid, PropertyGridMode, PropertyGridOptions, TemplatedDialog, WX } from \"@serenity-is/corelib\";\nimport { confirmDialog, getForm, htmlEncode, localText, PropertyItem } from \"@serenity-is/corelib/q\";\n\n/**\n * A dialog/panel base class that easily generates a wizard UI from tabs in a form definition (e.g. Form.cs)\n */\n@Decorators.registerClass(\"Serenity.WizardDialog\")\nexport abstract class WizardDialog extends TemplatedDialog {\n\n private wizardGrid: PropertyGrid;\n\n /**\n * Creates a new wizard dialog\n * @param opt options, might be used by derived classes\n */\n constructor(opt?: TOptions) {\n super(opt);\n\n this.element.children().addClass(\"wizard-horz\");\n\n this.wizardGrid = new PropertyGrid(this.byId(\"WizardGrid\"),\n this.getPropertyGridOptions());\n\n this.wizardGrid.element.children(\".property-tabs\").children('li').each((i, li) => {\n var $li = $(li);\n var h = $li.children('a').html();\n $li.html('').attr('data-step', i + 1);\n $('').text(i + 1).appendTo($li);\n $('').html(h).appendTo($li);\n $('').appendTo($li);\n });\n\n this.byId(\"CancelButton\").click((e) => this.confirmCancel(e));\n\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 });\n\n this.wizardGrid.load(this.getInitialEntity());\n\n this.getStepLink(this._step).addClass(\"in show active\");\n this.getStepPanel(this._step).addClass(\"in show active\")\n\n this.element.on('dialogbeforeclose panelbeforeclose', e => {\n if (!WX.hasOriginalEvent(e))\n return;\n\n this.confirmCancel(e);\n });\n }\n\n /**\n * gets property grid options\n */\n protected getPropertyGridOptions(): PropertyGridOptions {\n return {\n idPrefix: this.idPrefix,\n mode: PropertyGridMode.insert,\n items: this.getPropertyItems(),\n localTextPrefix: 'Forms.' + this.getFormKey() + '.',\n useCategories: true\n };\n }\n\n /**\n * gets form key to use to load property items / tabs\n */\n protected getFormKey(): string {\n return null;\n }\n\n /**\n * gets list of property items to shown on form, uses form key to load items by default\n */\n protected getPropertyItems(): PropertyItem[] {\n var formKey = this.getFormKey();\n if (formKey)\n return getForm(formKey);\n\n return [];\n }\n\n /**\n * gets initial entity to load onto form, override these to customize initial form values\n */\n protected getInitialEntity(): TEntity {\n return {} as TEntity;\n }\n\n // gets maximum number of steps from\n protected get maxSteps() {\n return this.wizardGrid.element\n .children(\".property-tabs\")\n .children(\"li\")\n .length;\n }\n\n /**\n * moves to a step, by calling one of next, back or finish methods based on target step\n * @param toStep the target step to move to\n */\n protected moveToStep(toStep: number) {\n if (toStep == this.step || toStep < 1 || toStep > this.maxSteps + 1)\n return;\n\n if (toStep >= this.maxSteps + 1) {\n this.finish();\n return;\n }\n\n (toStep < this.step ? this.back : this.next).call(this, toStep);\n }\n\n private _step: number = 1;\n\n // gets current step\n protected get step(): number {\n return this._step;\n }\n\n // sets current step directly, skipping any validation\n protected set step(value: number) {\n this.getStepLink(this._step).removeClass(\"in active\");\n this.getStepPanel(this._step).removeClass(\"in show active\");\n this.getStepLink(value).addClass(\"in active\");\n this.getStepPanel(value).addClass(\"in show active\")\n .find(\".require-layout\").triggerHandler(\"layout\");\n var s: number;\n for (s = value; s <= this._step; s++)\n this.getStepLink(s).removeClass(\"complete\").find(\"span.badge\").removeClass(\"badge-success\");\n for (s = this._step; s < value; s++)\n this.getStepLink(s).addClass(\"complete\").find(\"span.badge\").addClass(\"badge-success\");\n\n this._step = value;\n\n this.byId(\"BackButton\").toggleClass('disabled', this._step <= 1);\n this.byId(\"NextButton\").children('.txt').text(localText(\"Site.WizardDialog.\" +\n (this._step == this.maxSteps ? \"Finish\" : \"Next\") + \"Button\"));\n }\n\n /**\n * called to reset the form, and go back to first step\n */\n protected reset() {\n this.step = 1;\n this.wizardGrid.load(this.getInitialEntity());\n }\n\n /**\n * is called when user clicks the Finish button (next button on last step)\n */\n protected finish() {\n this.dialogClose();\n }\n\n /**\n * next method is called when user tries to go forward\n * @param toStep the step user is trying to move to, usually one step ahead\n */\n protected next(toStep: number) {\n this.step = toStep;\n }\n\n /**\n * back method is called when user tries to go backward\n * @param toStep the step user is trying to move to, usually one step back but can also be multiple\n */\n protected back(toStep: number) {\n this.step = toStep;\n }\n\n private getStepLink(step: number) {\n return this.wizardGrid.element\n .children(\".property-tabs\")\n .children(\"li\").eq(step - 1);\n }\n\n private getStepPanel(step: number) {\n return this.wizardGrid.element\n .children(\".property-panes\")\n .children().eq(step - 1)\n }\n\n /**\n * make sure derived classes use WizardDialog template,\n * if they don't define one of their own\n */\n protected getFallbackTemplate() {\n return `\n
    \n
    \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n
    `;\n }\n\n /**\n * gets cancel confirmation message, return null to disable confirmation\n */\n protected getCancelMessage() {\n return localText(\"Site.WizardDialog.CancelMessage\");\n }\n\n /**\n * confirms when user tries to cancel or close the wizard\n * @param e\n */\n protected confirmCancel(e: JQueryEventObject) {\n var cancelMessage = this.getCancelMessage();\n if (!cancelMessage) {\n e.preventDefault();\n this.dialogClose();\n return;\n }\n\n e.preventDefault();\n confirmDialog(cancelMessage,\n () => {\n this.dialogClose();\n });\n }\n\n /** gets save entity from form, optionally from a limited list of steps (tabs)\n * @param steps the list of steps to read data from, pass null to get all\n */\n protected getSaveEntity(steps?: number[]): TEntity {\n var entity = {} as TEntity;\n this.wizardGrid.save(entity);\n\n if (steps != null) {\n var maxSteps = this.maxSteps;\n for (var i = 1; i <= maxSteps; i++) {\n if (steps.indexOf(i) >= 0)\n continue;\n\n var panel = this.getStepPanel(i);\n panel.find('.field').each((z, el) => {\n var field = $(el).attr('class').split(' ')[1];\n if (field)\n delete entity[field];\n });\n }\n }\n\n return entity;\n }\n\n // gets value of compact steps option\n protected get compactSteps() {\n return this.element.children().hasClass(\"compact-steps\");\n }\n\n // sets value of compact steps option, when it is on, inactive step titles only show\n // numbers and gets visible on hover. this is better there are many steps to fit\n protected set compactSteps(value: boolean) {\n this.element.children().toggleClass(\"compact-steps\", value);\n }\n}\n"], "mappings": "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", "names": ["require_corelib", "__commonJSMin", "exports", "module", "require_q", "__commonJSMin", "exports", "module", "require_slick", "__commonJSMin", "exports", "module", "require_sleekgrid", "__commonJSMin", "exports", "module", "Modules_exports", "__export", "AutoColumnWidthMixin", "AutoSaveOption", "CardViewMixin", "CustomSummaryMixin", "DraggableGroupingMixin", "DraggableGroupingPlugin", "EntityGridDialog", "FavoriteViewsMixin", "GridEditController", "GridEditWrapper", "HeaderFilterType", "HeaderFiltersMixin", "HeaderFiltersPlugin", "IdleTimeout", "TranslationGrid", "WizardDialog", "setupUIOverrides", "import_corelib", "import_q", "import_corelib", "import_q", "GridEditWrapper", "args", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "_l", "_m", "_n", "controller", "propertyItem", "editorParams", "ctrlEditorParams", "editorType", "createOptions", "el", "maxLength", "source", "target", "value", "state", "k", "pos", "result", "message", "__name", "defaultGridEditOptions", "GridEditController", "opt", "_a", "item", "column", "command", "_b", "orig", "oldValue", "value", "priorEscCell", "e", "activeCell", "args", "showValidationError", "row", "slick", "styles", "cols", "cell", "col", "field", "_c", "_d", "pid", "idField", "x", "propertyItem", "editable", "GridEditWrapper", "dataLength", "i", "key", "requests", "request", "rows", "current", "self", "__name", "saveNext", "then", "fail", "serviceMethod", "getService", "controller", "el", "msg", "$el", "hl", "import_corelib", "import_q", "AutoColumnWidthMixin", "options", "_a", "__name", "e", "self", "flags", "settings", "x", "$header", "columnDef", "sb", "row", "childNodes", "length", "cellNodes", "i", "header", "_b", "maxAllowedWidth", "maxWidth", "index", "cellNode", "width", "autoWidth", "colIndex", "headerClone", "createHeaderClone", "rowNode", "useExplicitWidths", "$headers", "maxRows", "headerClones", "el", "allCellNodes", "item", "format", "ctx", "child", "childHtml", "ex", "cellTemplate", "__decorateClass", "element", "clone", "import_q", "keys", "isBoolean", "val", "__name", "isElement", "isString", "isNumber", "isObject", "isFunction", "isComponentClass", "Component", "prototype", "isArrayLike", "obj", "forEach", "value", "fn", "key", "keys", "isRef", "maybeRef", "isObject", "__name", "jsxDomType", "JsxDomType", "isShadowRoot", "el", "jsxDomType", "JsxDomType", "__name", "isVisibleChild", "value", "isBoolean", "__name", "DomTokenList", "className", "isObject", "keys", "k", "Component", "props", "__name", "initComponentClass", "Class", "attr", "children", "__spreadProps", "__spreadValues", "jsx", "tag", "_ref", "_a", "__objRest", "node", "isString", "attributes", "appendChild", "values", "value", "option", "attachRef", "isFunction", "isObject", "isComponentClass", "attachRef", "ref", "node", "isRef", "isFunction", "__name", "appendChild", "child", "isArrayLike", "appendChildren", "isString", "isNumber", "appendChildToNode", "isElement", "isShadowRoot", "shadowRoot", "children", "style", "value", "v", "isObject", "forEach", "val", "key", "attribute", "attr", "dataValue", "dataKey", "isVisibleChild", "className", "eventHandler", "eventName", "useCapture", "attributes", "keys", "CardViewMixin", "options", "dg", "btnGroup", "jsx", "e", "oldCurrentSettings", "flag", "settings", "self", "oldRestoreSettings", "flags", "storage", "json", "viewType", "persist", "button", "card", "_a", "colClass", "item", "index", "el", "node", "gc", "height", "__name", "gridDiv", "layout", "inPageContent", "cc", "import_corelib", "import_q", "import_slick", "toAggregator", "summaryType", "__name", "CustomSummaryMixin", "options", "_a", "dg", "getDefaultAggregators", "columns", "aggregators", "x", "aggregator", "aggregatesPopup", "e", "col", "column", "agg", "grouping", "i", "oldCurrentSettings", "flags", "settings", "oldRestoreSettings", "import_q", "import_sleekgrid", "import_q", "import_sleekgrid", "DraggableGroupingPlugin", "options", "defaults", "grid", "dropPlaceHolderText", "cols", "i", "col", "_self", "event", "ui", "_", "id", "e", "a", "sortArray", "newGroupingOrder", "b", "column", "g", "fld", "asc", "x", "text", "format", "item", "ctx", "count", "columnid", "columnAllowed", "clmn", "gridColumns", "columnAdded", "entry", "groupText", "groupRemoveIcon", "idList", "changed", "idx", "hasGrouping", "userChange", "groupingArray", "element", "$headers", "setupColumnResize", "trigger", "$headerDraggableGroupBy", "columns", "uid", "hasDroppedColumn", "reorderedIds", "reorderedColumns", "__name", "sortBy", "field", "reverse", "primer", "key", "__name", "x", "a", "b", "A", "B", "DraggableGroupingMixin", "options", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "dg", "groupItemMetadataProvider", "plugin", "DraggableGroupingPlugin", "e", "args", "oldCurrentSettings", "flags", "settings", "grouping", "loadGroupCols", "groupColsToLoad", "columns", "groupCols", "z", "groupings", "getDefaultGroupCols", "colsWithOrder", "oldRestoreSettings", "storage", "json", "import_corelib", "import_q", "AutoSaveOption", "EntityGridDialog", "container", "opt", "e", "arg", "slickGrid", "widgetMarkup", "item", "index", "klass", "entityOrId", "proceed", "response", "itemType", "callback", "id", "form", "valOptions", "i", "el", "value", "oldTitle", "_a", "pt", "tabsDiv", "entity", "title", "options", "attrType", "name", "attributes", "es", "done", "fail", "asPanel", "data", "oldEntityId", "idField", "entityId", "request", "pgOptions", "pgDiv", "formKey", "typ", "ent", "eid", "dci", "req", "buttons", "list", "response1", "id1", "cloneEntity", "w", "isOpen", "isLocalizationMode", "hasSavePermission", "viewMode", "readOnly", "__name", "__decorateClass", "import_q", "FavoriteViewsMixin", "options", "dg", "dropdown", "e", "viewName", "name", "favorites", "settings", "saveLI", "keys", "k", "li", "storage", "key", "__name", "import_q", "import_q", "import_sleekgrid", "HeaderFilterType", "HeaderFiltersPlugin", "options", "defaults", "g", "column", "e", "args", "filterType", "$el", "menu", "columnDef", "title", "command", "image", "$item", "$icon", "filterOptions", "i", "filtered", "$filter", "item", "value", "format", "ctx", "html", "ex", "$menuButton", "buttons", "ev", "x", "menuHeight", "buttonHeight", "offset", "left", "menuTop", "windowScrollTop", "bottomBoundary", "contentWrapperTop", "extraHeight", "$checkbox", "index", "has", "filter", "v", "lowercaseFilter", "text", "idx", "y", "A", "B", "newFilterValues", "newFilterTexts", "done", "values", "texts", "dataView", "items", "seen", "searchText", "searchFilter", "__name", "HeaderFiltersMixin", "options", "skipColumnFilters", "cache", "filterPlugin", "HeaderFiltersPlugin", "col", "done", "req", "cacheKey", "cached", "response", "e", "data", "column", "me", "oldOnViewSubmit", "cols", "request", "vals", "nonNull", "z", "criteria", "oldOnViewFilter", "item", "filterValue", "__name", "import_q", "_IdleTimeout", "options", "mouseX", "mouseY", "e", "keepSessionAlive", "__name", "timeLimit", "warningDialog", "warning", "update", "remainingSeconds", "percentLeft", "IdleTimeout", "setupUIOverrides", "__name", "import_corelib", "import_q", "copyToClipboard", "text", "__async", "err", "el", "lastDialog", "__name", "TranslationGrid", "container", "e", "value", "row", "cell", "item", "done", "__name", "columns", "ctx", "opt", "el", "filters", "userTranslated", "w", "hasTranslation", "response", "assembly", "asmNames", "asmName", "asmKeys", "keys", "key", "language", "translations", "request", "_", "length", "d", "i", "copyToClipboard", "_a", "searchText", "_b", "_c", "kba", "sd", "searching", "match", "str", "__decorateClass", "import_corelib", "import_q", "WizardDialog", "opt", "i", "li", "$li", "h", "e", "step", "formKey", "toStep", "value", "s", "cancelMessage", "steps", "entity", "maxSteps", "panel", "z", "el", "field", "__name", "__decorateClass"] }