{"version":3,"sources":["webpack:///../WCC.UI/App/components/grid/column.html?bd53","webpack:///../WCC.UI/App/components/grid/column.scss?9c16","webpack:///../WCC.UI/App/components/grid/column.ts","webpack:///../WCC.UI/App/components/grid/columnpickers/base.ts","webpack:///../WCC.UI/App/components/grid/columnpickers/threshold.ts","webpack:///../WCC.UI/App/components/grid/grid.html?2e9b","webpack:///../WCC.UI/App/components/grid/grid.scss?6f63","webpack:///../WCC.UI/App/components/grid/grid.ts","webpack:///../WCC.UI/App/components/grid/item.html?0e9c","webpack:///../WCC.UI/App/components/grid/item.scss?363d","webpack:///../WCC.UI/App/components/grid/item.ts","webpack:///../WCC.UI/App/components/grid/stage.html?fe3c","webpack:///../WCC.UI/App/components/grid/stage.scss?7715","webpack:///../WCC.UI/App/components/grid/stage.ts","webpack:///../WCC.UI/App/components/grid/column.scss","webpack:///../WCC.UI/App/components/grid/grid.scss","webpack:///../WCC.UI/App/components/grid/item.scss","webpack:///../WCC.UI/App/components/grid/stage.scss","webpack:///../WCC.UI/App/components/grid/column.html","webpack:///../WCC.UI/App/components/grid/grid.html","webpack:///../WCC.UI/App/components/grid/item.html","webpack:///../WCC.UI/App/components/grid/stage.html"],"names":["content","expose","__esModule","default","api","module","i","options","exports","locals","GridColumnModel","constructor","jsonModel","removed","ko","observable","this","index","items","flattenComputed","extend","trackArrayChanges","height","reduce","result","item","getView","predicate","filter","GridColumnVM","model","info","effects","bodyNode","isVisible","not","register","undefined","document","body","contains","bindingContext","getBindingContext","syncItems","subscribe","applyBindingsToNode","element","gridContext","columnIdx","reversedItems","reverse","prevItem","insertBefore","attachedTo","_bodyContext$$parentC","_bodyContext$$parentC2","bodyContext","contextFor","$parentContext","__decorate","injectable","__param","inject","wccModules","componentConfig","componentInfo","GridColumnPicker","pick","columns","_","sortBy","column","GridThresholdColumnPicker","config","super","threshold","target","isSibling","sort","c1","c2","components","registerLocal","require","Grid","_config$Source","vm","hiddenItems","observableArray","rendering","realColumnWidth","source","Source","unwrap","deferred","columnWidth","ColumnWidth","offset","Offset","outerOffset","OuterOffset","Threshold","maxHeight","MaxHeight","keepOrder","KeepOrder","smoothResize","disableAnimations","lock","update","hard","invokeNotNull","GridVM","columnsCount","stage","id","uniqueId","$element","$","tracker","NodeTracker","node","width","isValid","is","animate","pureComputed","isIE","bodyHeight","getRealColumnWidth","map","data","GridItemModel","indexOf","state","GridItemState","active","rateLimit","stageConfig","columnsPicker","styles","getStyles","isRendering","pluck","s","ready","length","computed","debounce","_this$stage","onArrayChange","remove","dispose","renderNext","processColumnsCount","processSmoothResize","_this$stage2","reset","some","pending","next","find","justCreated","getColumnsCount","targetWidth","Math","floor","columnShrink","availableSpace","requestAnimationFrame","css","Model","focusedGridItem","hiddenStates","hidden","isDisposed","notifyIfChanged","initialized","animated","hasContent","container","sibling","_sibling$node","ref","createNode","applyBindings","createChildContext","nextSibling","delay","removeNode","GridItemVM","animationAllowed","isHidden","includes","isFocused","isInitalized","_state","rendered","animationComplete","click","onClick","focus","hasNoColumn","states","isActive","allowedItemStates","GridStageVM","stageColumns","mapSingle","getMaxHeight","allItems","allItemsAreActive","all","checkIfItemProcessed","newItems","activeItems","isLimited","v","onItemRemoved","bind","move","from","to","shiftFromIndex","min","updateStageColumns","alignLastRow","onColumnsChanged","limitItemsByHeight","targetColumnsCount","diff","newColumns","slice","forEach","generatedColumns","Array","idx","createColumn","concat","withEffect","resetItems","addItem","toPx","oldColumns","every","initItem","when","shiftAfter","shiftAfterIndex","isViewItem","views","toReset","ignoreDependencies","position","bottom","done","hasColumn","push","Column","first","max","___CSS_LOADER_API_IMPORT___"],"mappings":"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","file":"6.3368f1d3ed5c6c3e5e17.js","sourcesContent":["define([\n \"!!../../../node_modules/html-loader/dist/cjs.js??ref--26-1!./column.html\", \n \"!../../webpack/runtime/htmlExposer.js\"], function (content, expose) {\n content = content.__esModule ? content.default : content;\n expose(content);\n return content;\n });","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./column.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import { wccModules } from 'enums/wccModules';\r\nimport { Func } from 'interfaces/func';\r\nimport { inject, injectable } from 'inversify';\r\nimport { BindingContext, Subscribable } from 'knockout';\r\nimport { EffectsContainer } from 'mixins/withEffects';\r\nimport './column.html';\r\nimport './column.scss';\r\nimport { GridItemModel } from './item';\r\n\r\nexport interface GridColumnModelConfig {\r\n index: number\r\n items: Subscribable>>\r\n}\r\n\r\nexport class GridColumnModel {\r\n removed = ko.observable(false);\r\n\r\n index: Subscribable\r\n height: Subscribable\r\n\r\n items: Subscribable>>\r\n\r\n constructor(jsonModel: GridColumnModelConfig) {\r\n this.index = ko.observable(jsonModel.index);\r\n this.items = ko.flattenComputed(jsonModel.items).extend({ trackArrayChanges: true });\r\n\r\n this.height = this.items.reduce((result, item) => result + item.height(), () => 0);\r\n }\r\n\r\n getView(predicate: Func]>) {\r\n return new GridColumnModel({\r\n index: this.index(),\r\n items: this.items.filter(predicate)\r\n });\r\n }\r\n}\r\n\r\n@injectable()\r\nexport default class GridColumnVM {\r\n private index: Subscribable\r\n private items: Subscribable>>\r\n\r\n bodyNode = ko.observable();\r\n\r\n constructor(\r\n @inject(wccModules.componentConfig) model: GridColumnModel,\r\n @inject(wccModules.componentInfo) info: ko.components.ComponentInfo,\r\n @inject(wccModules.effects) effects: EffectsContainer\r\n ) {\r\n this.index = model.index;\r\n this.items = model.items;\r\n\r\n const isVisible = model.removed.not();\r\n\r\n effects.register(bodyNode => {\r\n if (bodyNode != undefined && document.body.contains(bodyNode)) {\r\n const bindingContext = this.getBindingContext(bodyNode);\r\n\r\n if (bindingContext != undefined) {\r\n this.syncItems(this.items(), bodyNode, bindingContext);\r\n\r\n return this.items.subscribe(items => this.syncItems(items, bodyNode, bindingContext))\r\n }\r\n }\r\n }, [this.bodyNode], false);\r\n\r\n ko.applyBindingsToNode(info.element, {\r\n 'visible': isVisible,\r\n\r\n 'css': {\r\n 'grid-new__column': true\r\n }\r\n });\r\n }\r\n\r\n private syncItems(items: GridItemModel[], body: HTMLElement, gridContext: BindingContext): void {\r\n const columnIdx = this.index();\r\n const reversedItems = [...items].reverse();\r\n\r\n let prevItem: GridItemModel | undefined;\r\n\r\n for (const item of reversedItems) {\r\n item.insertBefore(body, prevItem, gridContext);\r\n item.attachedTo(columnIdx);\r\n\r\n prevItem = item;\r\n }\r\n }\r\n\r\n private getBindingContext(body: HTMLElement) {\r\n var bodyContext = ko.contextFor(body);\r\n\r\n if (bodyContext != undefined)\r\n return bodyContext.$parentContext?.$parentContext?.$parentContext;\r\n }\r\n}","import { GridColumnModel } from '../column';\r\n\r\nexport default class GridColumnPicker {\r\n constructor() { }\r\n\r\n pick(columns: Array>): GridColumnModel | undefined {\r\n return _(columns).sortBy(column => column.height())[0];\r\n }\r\n}","import { Subscribable, SubscribableOrValue } from 'knockout';\r\nimport { GridColumnModel } from '../column';\r\nimport GridColumnPicker from './base';\r\n\r\nexport interface GridThresholdColumnPickerConfig {\r\n threshold: SubscribableOrValue\r\n}\r\n\r\nexport default class GridThresholdColumnPicker extends GridColumnPicker {\r\n threshold: Subscribable\r\n\r\n constructor(config: GridThresholdColumnPickerConfig) {\r\n super();\r\n\r\n this.threshold = ko.flattenComputed(config.threshold);\r\n }\r\n\r\n override pick(columns: Array>) {\r\n const target = super.pick(columns);\r\n\r\n if (target != undefined) {\r\n return columns\r\n .filter(column => this.isSibling(target, column))\r\n .sort((c1, c2) => c1.index() - c2.index())[0];\r\n }\r\n }\r\n\r\n isSibling(target: GridColumnModel, column: GridColumnModel) {\r\n return column.height() <= target.height() + this.threshold();\r\n }\r\n}","define([\n \"!!../../../node_modules/html-loader/dist/cjs.js??ref--26-1!./grid.html\", \n \"!../../webpack/runtime/htmlExposer.js\"], function (content, expose) {\n content = content.__esModule ? content.default : content;\n expose(content);\n return content;\n });","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./grid.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import { wccModules } from 'enums/wccModules';\r\nimport { isIE } from 'helpers/browser';\r\nimport { inject, injectable } from 'inversify';\r\nimport { Observable, Subscribable, SubscribableOrNullableValue } from 'knockout';\r\nimport { NodeTracker as NodeTracker } from 'managers/nodes/tracker';\r\nimport { EffectsContainer } from 'mixins/withEffects';\r\nimport GridThresholdColumnPicker from './columnpickers/threshold';\r\nimport './grid.html';\r\nimport './grid.scss';\r\nimport { GridItemModel, GridItemState } from './item';\r\nimport GridStageVM, { GridStageVMConfig } from './stage';\r\n\r\ncomponents\r\n .registerLocal('grid-new-stage', () => require('components/grid/stage'))\r\n .registerLocal('grid-new-column', () => require('components/grid/column'))\r\n .registerLocal('grid-new-item', () => require('components/grid/item'));\r\n\r\nexport interface GridConfig {\r\n source?: SubscribableOrNullableValue>\r\n columnWidth?: SubscribableOrNullableValue\r\n offset?: SubscribableOrNullableValue\r\n outerOffset?: SubscribableOrNullableValue\r\n threshold?: SubscribableOrNullableValue\r\n maxHeight?: SubscribableOrNullableValue\r\n keepOrder?: SubscribableOrNullableValue\r\n smoothResize?: SubscribableOrNullableValue\r\n disableAnimations?: SubscribableOrNullableValue\r\n lock?: SubscribableOrNullableValue\r\n\r\n Source?: SubscribableOrNullableValue>\r\n ColumnWidth?: SubscribableOrNullableValue\r\n Offset?: SubscribableOrNullableValue\r\n OuterOffset?: SubscribableOrNullableValue\r\n Threshold?: SubscribableOrNullableValue\r\n MaxHeight?: SubscribableOrNullableValue\r\n KeepOrder?: SubscribableOrNullableValue\r\n}\r\n\r\nexport class Grid {\r\n vm = ko.observable>();\r\n hiddenItems = ko.observableArray>();\r\n rendering = ko.observable(false);\r\n\r\n source: Observable>\r\n\r\n columnWidth: Observable\r\n offset: Observable\r\n outerOffset: Observable\r\n threshold: Observable\r\n maxHeight: Observable\r\n keepOrder: Observable\r\n smoothResize: Observable\r\n disableAnimations: Observable\r\n lock: Observable \r\n \r\n realColumnWidth: Observable = ko.observable();\r\n\r\n constructor(config: GridConfig) {\r\n this.source = ko.observable(config.Source ?? config.source).unwrap().default(>[]).extend({ deferred: true });\r\n\r\n this.columnWidth = ko.observable(config.ColumnWidth || config.columnWidth).unwrap().default(300);\r\n this.offset = ko.observable(config.Offset || config.offset).unwrap().default(0);\r\n this.outerOffset = ko.observable(config.OuterOffset || config.outerOffset).unwrap().default(0);\r\n this.threshold = ko.observable(config.Threshold || config.threshold).unwrap().default(0);\r\n this.maxHeight = ko.observable(config.MaxHeight || config.maxHeight).unwrap().default(0);\r\n this.keepOrder = ko.observable(config.KeepOrder || config.keepOrder).unwrap().default(false);\r\n this.smoothResize = ko.observable(config.smoothResize).unwrap().default(false);\r\n this.disableAnimations = ko.observable(config.disableAnimations).unwrap().default(false);\r\n this.lock = ko.observable(config.lock).unwrap().default(false);\r\n }\r\n\r\n update(hard?: boolean) {\r\n this.vm.invokeNotNull(vm => vm.update(hard));\r\n }\r\n}\r\n\r\n@injectable()\r\nexport default class GridVM {\r\n private columnsCount = ko.observable(1);\r\n\r\n private $element: JQuery\r\n private tracker: NodeTracker\r\n\r\n private width: Subscribable\r\n private bodyHeight: Subscribable\r\n private realColumnWidth: Subscribable\r\n\r\n private items: Subscribable>>;\r\n\r\n bodyNode = ko.observable();\r\n\r\n stageConfig: GridStageVMConfig\r\n stage = ko.observable>();\r\n\r\n offset: Observable\r\n outerOffset: Observable\r\n smoothResize: Observable\r\n\r\n animate: Subscribable\r\n lock: Subscribable\r\n isValid: Subscribable\r\n isRendering: Subscribable\r\n\r\n static Model = Grid;\r\n\r\n id = _.uniqueId('grid-new-');\r\n\r\n styles: Subscribable\r\n\r\n ready: Subscribable\r\n\r\n constructor(\r\n @inject(wccModules.componentConfig) private model: Grid,\r\n @inject(wccModules.componentInfo) info: ko.components.ComponentInfo,\r\n @inject(wccModules.effects) effects: EffectsContainer\r\n ) {\r\n this.$element = $(info.element);\r\n\r\n const source = model.source;\r\n\r\n this.tracker = new NodeTracker({ node: info.element });\r\n this.width = this.tracker.width;\r\n this.isValid = this.width.is(width => width > 0);\r\n\r\n this.offset = model.offset;\r\n this.outerOffset = model.outerOffset;\r\n this.smoothResize = model.smoothResize;\r\n this.animate = ko.pureComputed(() => !isIE && !model.disableAnimations());\r\n this.lock = ko.pureComputed(() => !this.isValid() || model.lock()); \r\n\r\n const { height: bodyHeight } = new NodeTracker({ node: this.bodyNode });\r\n this.bodyHeight = bodyHeight;\r\n\r\n this.realColumnWidth = ko.pureComputed(() => this.getRealColumnWidth()).extend({ deferred: true });\r\n\r\n this.items = source.map(data => {\r\n return new GridItemModel({\r\n index: source.indexOf(data),\r\n data: data,\r\n animate: this.animate\r\n });\r\n }).extend({ trackArrayChanges: true });\r\n\r\n const hiddenItems = this.items.filter(item => item.state() !== GridItemState.active).extend({ rateLimit: 0 });\r\n\r\n this.stageConfig = {\r\n items: this.items,\r\n columnsCount: this.columnsCount,\r\n maxHeight: model.maxHeight,\r\n keepOrder: model.keepOrder,\r\n columnsPicker: new GridThresholdColumnPicker({ threshold: model.threshold }),\r\n lock: this.lock\r\n };\r\n\r\n this.styles = ko.pureComputed(() => this.getStyles());\r\n\r\n this.isRendering = this.stage.pluck(s => s.isRendering, true);\r\n this.ready = ko.pureComputed(() => this.items().length > 0);\r\n\r\n effects.register([\r\n ko.computed(() => model.hiddenItems(hiddenItems()))\r\n ]);\r\n\r\n effects.register(() => {\r\n model.vm(this);\r\n return () => model.vm(undefined);\r\n });\r\n\r\n effects.register([\r\n ko.computed(() => model.rendering(this.isRendering())),\r\n ko.computed(() => model.realColumnWidth(this.realColumnWidth())),\r\n\r\n this.width.subscribe(_.debounce(() => this.stage()?.update(), 0)),\r\n\r\n this.items.onArrayChange({\r\n remove: item => item.dispose()\r\n }),\r\n\r\n ko.computed(() => this.renderNext()),\r\n ko.computed(this.processColumnsCount, this),\r\n ko.computed(this.processSmoothResize, this).extend({ deferred: true })\r\n ]);\r\n\r\n ko.applyBindingsToNode(info.element, {\r\n 'visible': this.items.is(item => item.length > 0),\r\n\r\n 'css': {\r\n 'grid-new': true,\r\n 'grid-new--smooth-resize': this.smoothResize\r\n },\r\n\r\n 'attr': {\r\n 'id': this.id\r\n }\r\n });\r\n }\r\n\r\n update(hard = false) {\r\n this.tracker.update();\r\n\r\n if (hard)\r\n this.stage()?.reset();\r\n }\r\n\r\n private renderNext() {\r\n const items = this.items();\r\n const isBusy = items.some(item => item.state() == GridItemState.pending);\r\n\r\n if (!isBusy) {\r\n const next = items.find(item => item.state() === GridItemState.justCreated);\r\n\r\n if (next != undefined)\r\n >next.state(GridItemState.pending);\r\n }\r\n }\r\n\r\n private getColumnsCount(targetWidth: number) {\r\n if (targetWidth > 0 && this.tracker.width() >= targetWidth)\r\n return Math.floor(this.tracker.width() / targetWidth);\r\n\r\n return 1;\r\n }\r\n\r\n private getStyles() {\r\n const columnsCount = this.columnsCount();\r\n const columnWidth = 100 / columnsCount;\r\n const columnOffset = this.offset();\r\n const offsetShrink = columnsCount > 1 ? (columnsCount - 1) / columnsCount : 0;\r\n const columnShrink = columnOffset * offsetShrink;\r\n\r\n return `\r\n #${this.id} {\r\n padding: ${this.outerOffset()}px;\r\n }\r\n\r\n #${this.id} .grid-new__column {\r\n width: calc(${columnWidth}% - ${columnShrink}px);\r\n margin-right: ${this.offset()}px;\r\n }\r\n\r\n #${this.id} .grid-new__column:last-child {\r\n margin-right: 0;\r\n }\r\n\r\n #${this.id} .grid-new__item {\r\n margin-bottom: ${this.offset()}px;\r\n }\r\n\r\n #${this.id} .grid-new__item:last-child {\r\n margin-bottom: 0;\r\n }`;\r\n }\r\n\r\n private getRealColumnWidth() {\r\n const columnsCount = this.columnsCount();\r\n const width = this.width();\r\n const outerOffset = this.outerOffset();\r\n const offset = this.offset();\r\n\r\n const availableSpace = width - outerOffset * 2 - offset * (columnsCount - 1);\r\n\r\n if (columnsCount > 0)\r\n return Math.floor(availableSpace / columnsCount);\r\n }\r\n\r\n private processColumnsCount() {\r\n const targetWidth = this.model.columnWidth();\r\n\r\n if (this.isValid())\r\n this.columnsCount(this.getColumnsCount(targetWidth));\r\n }\r\n\r\n private processSmoothResize() {\r\n if (this.smoothResize()) {\r\n const bodyHeight = this.bodyHeight();\r\n const outerOffset = this.outerOffset();\r\n\r\n requestAnimationFrame(() => {\r\n if (bodyHeight > 0) {\r\n this.$element.css({ 'height': bodyHeight + outerOffset * 2 + 'px' });\r\n } else {\r\n this.$element.css({ 'height': '' });\r\n }\r\n });\r\n }\r\n }\r\n}","define([\n \"!!../../../node_modules/html-loader/dist/cjs.js??ref--26-1!./item.html\", \n \"!../../webpack/runtime/htmlExposer.js\"], function (content, expose) {\n content = content.__esModule ? content.default : content;\n expose(content);\n return content;\n });","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./item.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import { wccModules } from 'enums/wccModules';\r\nimport { inject, injectable } from 'inversify';\r\nimport { BindingContext, Subscribable } from 'knockout';\r\nimport { NodeTracker } from 'managers/nodes/tracker';\r\nimport { EffectsContainer } from 'mixins/withEffects';\r\nimport './item.html';\r\nimport './item.scss';\r\n\r\nexport enum GridItemState {\r\n justCreated = 0,\r\n pending = 1,\r\n rendered = 2,\r\n active = 3,\r\n hidden = 4\r\n}\r\n\r\nconst focusedGridItem = ko.observable();\r\n\r\nconst hiddenStates = >[\r\n GridItemState.justCreated,\r\n GridItemState.pending,\r\n GridItemState.hidden\r\n]\r\n\r\nexport interface GridItemModelConfig {\r\n data: T\r\n index: Subscribable\r\n animate: Subscribable\r\n}\r\n\r\nexport class GridItemModel {\r\n private node = ko.observable();\r\n private isDisposed = ko.observable(false);\r\n\r\n vm = ko.observable>();\r\n\r\n height = ko.observable(0).extend({ notifyIfChanged: true });\r\n columnIdx = ko.observable();\r\n attachedTo = ko.observable();\r\n\r\n state = ko.observable(GridItemState.justCreated);\r\n initialized = ko.observable(false);\r\n animated = ko.observable(false);\r\n\r\n index: Subscribable\r\n data: Subscribable\r\n\r\n animate: Subscribable\r\n hasContent: Subscribable\r\n\r\n constructor(jsonModel: GridItemModelConfig) {\r\n this.index = ko.flattenComputed(jsonModel.index);\r\n this.data = ko.observable(jsonModel.data);\r\n\r\n this.animate = ko.observable(jsonModel.animate).unwrap().default(true);\r\n\r\n this.hasContent = ko.pureComputed(() => this.height() > 0);\r\n }\r\n\r\n update() {\r\n this.vm.invokeNotNull(vm => vm.update());\r\n }\r\n\r\n insertBefore(container: HTMLElement, sibling: GridItemModel | undefined, gridContext: BindingContext) {\r\n if (this.isDisposed()) return;\r\n\r\n let node = this.node();\r\n const ref = sibling?.node() ?? null;\r\n\r\n if (node == undefined) {\r\n node = this.createNode();\r\n\r\n container.insertBefore(node, ref);\r\n ko.applyBindings(gridContext.createChildContext(this), node);\r\n\r\n this.node(node);\r\n } else if (ref == undefined && !container.contains(node) || ref != undefined && node.nextSibling != ref) {\r\n container.insertBefore(node, ref);\r\n this.animated(false);\r\n }\r\n\r\n _.delay(() => this.update(), 100);\r\n }\r\n\r\n dispose() {\r\n this.isDisposed(true);\r\n this.node.invokeNotNull(node => ko.removeNode(node));\r\n this.node(undefined);\r\n }\r\n\r\n private createNode() {\r\n return $('')[0];\r\n }\r\n}\r\n\r\n@injectable()\r\nexport default class GridItemVM {\r\n private tracker: NodeTracker\r\n\r\n data: Subscribable\r\n animate: Subscribable \r\n\r\n constructor(\r\n @inject(wccModules.componentConfig) model: GridItemModel,\r\n @inject(wccModules.componentInfo) info: ko.components.ComponentInfo,\r\n @inject(wccModules.effects) effects: EffectsContainer\r\n ) {\r\n this.data = model.data;\r\n\r\n const animated = model.animated;\r\n const animationAllowed = ko.pureComputed(() => false && model.animate() && !animated());\r\n this.animate = ko.pureComputed(() => animationAllowed() && !isHidden());\r\n\r\n const state = model.state;\r\n\r\n this.tracker = new NodeTracker({ node: info.element });\r\n const height = this.tracker.height;\r\n\r\n const hasContent = ko.pureComputed(() => height() > 0);\r\n const isHidden = ko.pureComputed(() => !hasContent() || hiddenStates.includes(state()));\r\n const isFocused = focusedGridItem.is(this);\r\n const isInitalized = ko.pureComputed(() => !animationAllowed() || animated());\r\n\r\n requestAnimationFrame(() => {\r\n effects.register(() => {\r\n model.vm(this);\r\n return () => model.vm(undefined);\r\n });\r\n\r\n effects.register([\r\n ko.computed(() => model.initialized(isInitalized())),\r\n ko.computed(() => model.height(height()))\r\n ]);\r\n\r\n effects.register((_state, hasContent, isInitalized) => {\r\n if (hasContent) {\r\n if (_state == GridItemState.pending)\r\n state(GridItemState.rendered);\r\n else if (isInitalized && _state == GridItemState.rendered)\r\n state(GridItemState.active);\r\n }\r\n }, [state, hasContent, isInitalized]);\r\n });\r\n\r\n ko.applyBindingsToNode(info.element, {\r\n 'animationComplete': () => animated(true),\r\n\r\n 'css': {\r\n 'grid-new__item': true,\r\n 'grid-new__item--focused': isFocused,\r\n 'grid-new__item--hidden': isHidden,\r\n 'grid-new__item--empty': hasContent.not()\r\n },\r\n\r\n 'click': () => this.onClick()\r\n });\r\n\r\n this.tracker.update();\r\n }\r\n\r\n update() {\r\n this.tracker.update(true);\r\n }\r\n\r\n private focus() {\r\n focusedGridItem(this);\r\n }\r\n\r\n private onClick() {\r\n this.focus();\r\n return true;\r\n }\r\n}","define([\n \"!!../../../node_modules/html-loader/dist/cjs.js??ref--26-1!./stage.html\", \n \"!../../webpack/runtime/htmlExposer.js\"], function (content, expose) {\n content = content.__esModule ? content.default : content;\n expose(content);\n return content;\n });","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./stage.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import { wccModules } from 'enums/wccModules';\r\nimport { Func } from 'interfaces/func';\r\nimport { inject, injectable } from 'inversify';\r\nimport { Subscribable } from 'knockout';\r\nimport { withEffect } from 'mixins/withEffect';\r\nimport { EffectsContainer } from 'mixins/withEffects';\r\nimport { GridColumnModel as Column, GridColumnModel } from './column';\r\nimport GridColumnPicker from './columnpickers/base';\r\nimport { GridItemModel, GridItemState as states } from './item';\r\nimport './stage.html';\r\nimport './stage.scss';\r\n\r\nexport interface GridStageVMConfig {\r\n items: Subscribable>>\r\n columnsCount: Subscribable\r\n maxHeight: Subscribable\r\n keepOrder: Subscribable\r\n lock: Subscribable\r\n columnsPicker: GridColumnPicker\r\n}\r\n\r\nconst hasNoColumn = (item: GridItemModel) => item.columnIdx() == undefined;\r\nconst hasColumn = (item: GridItemModel) => item.columnIdx() != undefined;\r\nconst isHidden = (item: GridItemModel) => item.state() === states.hidden;\r\nconst isActive = (item: GridItemModel) => item.state() === states.active;\r\n\r\nconst allowedItemStates = [states.pending, states.rendered, states.active, states.hidden];\r\n\r\n@injectable()\r\nexport default class GridStageVM {\r\n private columns = ko.observableArray>();\r\n\r\n private columnsCount: Subscribable\r\n private maxHeight: Subscribable\r\n private keepOrder: Subscribable\r\n private lock: Subscribable\r\n\r\n private allItemsAreActive: Subscribable \r\n\r\n private items: Subscribable>>\r\n private newItems: Subscribable>>\r\n private activeItems: Subscribable>>\r\n\r\n private columnsPicker: GridColumnPicker\r\n\r\n stageColumns = ko.observableArray>();\r\n\r\n isRendering: Subscribable\r\n\r\n constructor(\r\n @inject(wccModules.componentConfig) config: GridStageVMConfig,\r\n @inject(wccModules.componentInfo) info: ko.components.ComponentInfo,\r\n @inject(wccModules.effects) effects: EffectsContainer\r\n ) {\r\n this.columnsCount = config.columnsCount;\r\n this.maxHeight = config.maxHeight.mapSingle(target => this.getMaxHeight(target)).extend({ rateLimit: 0 });\r\n this.keepOrder = config.keepOrder;\r\n this.lock = config.lock;\r\n\r\n const allItems = config.items;\r\n this.allItemsAreActive = allItems.all(item => this.checkIfItemProcessed(item));\r\n this.items = allItems.filter(item => allowedItemStates.includes(item.state())).extend({ trackArrayChanges: true });\r\n this.newItems = this.items.filter(hasNoColumn);\r\n this.activeItems = this.items.filter(isActive);\r\n\r\n this.isRendering = ko.pureComputed(() => !this.allItemsAreActive());\r\n\r\n this.columnsPicker = config.columnsPicker;\r\n\r\n const isLimited = this.maxHeight.is(v => v > 0);\r\n\r\n effects.register([\r\n this.items.onArrayChange({\r\n remove: this.onItemRemoved.bind(this),\r\n move: (item, from, to) => this.shiftFromIndex(Math.min(from, to))\r\n }),\r\n\r\n ko.computed(() => this.updateStageColumns()),\r\n ko.computed(() => this.alignLastRow()).extend({ rateLimit: 250 }),\r\n ko.computed(() => this.onColumnsChanged()),\r\n ko.computed(() => this.limitItemsByHeight()).extend({ deferred: true })\r\n ]);\r\n\r\n effects.register(targetColumnsCount => {\r\n const columns = this.columns();\r\n const columnsCount = this.columns().length;\r\n const diff = targetColumnsCount - columnsCount;\r\n\r\n let newColumns = columns;\r\n\r\n if (diff < 0) {\r\n columns\r\n .slice(targetColumnsCount)\r\n .forEach(column => column.removed(true));\r\n\r\n newColumns = columns.slice(0, targetColumnsCount);\r\n } else if (diff > 0) {\r\n const generatedColumns = [...new Array(diff)].map((_, idx) => this.createColumn(columnsCount + idx));\r\n newColumns = columns.concat(generatedColumns);\r\n }\r\n\r\n this.columns(newColumns);\r\n }, [this.columnsCount]);\r\n\r\n effects.register((keepOrder, allItemsAreActive) => {\r\n if (keepOrder && allItemsAreActive)\r\n return withEffect(() => this.resetItems(), [this.items], false);\r\n else\r\n return withEffect(newItems => newItems.forEach(item => this.addItem(item)), [this.newItems, this.columns], false);\r\n }, [this.keepOrder, this.allItemsAreActive], false);\r\n\r\n ko.applyBindingsToNode(info.element, {\r\n 'style': {\r\n 'max-height': ko.pureComputed(() => isLimited() ? this.maxHeight() : undefined).toPx(true)\r\n },\r\n\r\n 'css': {\r\n 'grid-new__stage': true,\r\n 'grid-new__stage--limited': isLimited\r\n }\r\n });\r\n }\r\n\r\n update() {\r\n this.syncItems();\r\n }\r\n\r\n reset() {\r\n this.resetItems();\r\n }\r\n\r\n private updateStageColumns() {\r\n const items = this.items();\r\n const newColumns = this.columns();\r\n const oldColumns = this.stageColumns();\r\n const columnsCount = this.columnsCount();\r\n\r\n const allowToUpdate = newColumns.length > oldColumns.length ||\r\n newColumns.length < oldColumns.length &&\r\n items.every(item => (item.columnIdx() == undefined || item.columnIdx() < columnsCount) && item.attachedTo() === item.columnIdx());\r\n\r\n if (allowToUpdate)\r\n this.stageColumns(this.columns());\r\n }\r\n\r\n private syncItems() {\r\n this.items().forEach(item => item.update());\r\n }\r\n\r\n private async addItem(item: GridItemModel) {\r\n await this.initItem(item);\r\n await item.state.when(state => state == states.rendered);\r\n\r\n this.shiftAfter(item);\r\n }\r\n\r\n private onItemRemoved(item: GridItemModel, index: number) {\r\n this.shiftAfterIndex(index > 0 ? index - 1 : 0);\r\n }\r\n\r\n private initItem(item: GridItemModel) {\r\n const columns = this.columns();\r\n const items = this.items();\r\n const idx = items.indexOf(item);\r\n\r\n item.update();\r\n\r\n if (idx !== -1) {\r\n const isViewItem: Func]> = idx > 0 ?\r\n item => items.indexOf(item) < idx :\r\n () => false;\r\n\r\n const views = columns.map(column => column.getView(isViewItem));\r\n\r\n const columnsPicker = this.columnsPicker;\r\n const column = columnsPicker.pick(views);\r\n\r\n if (column && column.index() != item.columnIdx())\r\n item.columnIdx(column.index());\r\n }\r\n }\r\n\r\n private resetItems() {\r\n this.items().forEach(item => this.initItem(item));\r\n }\r\n\r\n private alignLastRow() {\r\n if (!this.keepOrder() && this.allItemsAreActive() && !this.lock()) {\r\n const columns = this.columns();\r\n const toReset = this.activeItems().slice(-columns.length);\r\n\r\n columns.forEach(column => column.height()); //track height changes\r\n\r\n ko.ignoreDependencies(() => toReset.forEach(item => this.initItem(item)));\r\n }\r\n }\r\n\r\n private limitItemsByHeight() {\r\n const maxHeight = this.maxHeight();\r\n\r\n if (maxHeight > 0) {\r\n this.columns().forEach(column => {\r\n column.items().reduce((position, item) => {\r\n let bottom = position + item.height();\r\n\r\n ko.ignoreDependencies(() => {\r\n if ((item.state() === states.rendered || item.state() === states.active) && bottom > maxHeight)\r\n item.state(states.hidden);\r\n else if (item.state() === states.hidden && bottom <= maxHeight)\r\n item.state(states.active);\r\n });\r\n\r\n return bottom;\r\n }, 0);\r\n });\r\n } else {\r\n ko.ignoreDependencies(() => this.items().filter(isHidden).forEach(item => item.state(states.active)));\r\n }\r\n }\r\n\r\n private shiftAfter(item: GridItemModel) {\r\n const idx = this.items().indexOf(item);\r\n\r\n this.shiftAfterIndex(idx);\r\n }\r\n\r\n private shiftAfterIndex(idx: number) {\r\n if (idx != -1) {\r\n this.items()\r\n .slice(idx + 1) // take all cells after provided one\r\n .reduce((result, item) => {\r\n if (!result.done) {\r\n if (hasColumn(item) && item.state())\r\n result.items.push(item);\r\n else\r\n result.done = true;\r\n }\r\n\r\n return result;\r\n }, { done: false, items: new Array>() }) // take all initialized cells\r\n .items\r\n .forEach(item => this.initItem(item)); //and reset them\r\n }\r\n }\r\n\r\n private shiftFromIndex(idx: number) {\r\n if (idx > 0)\r\n this.shiftAfterIndex(idx - 1);\r\n else\r\n this.resetItems();\r\n }\r\n\r\n private onColumnsChanged() {\r\n ko.ignoreDependencies(columns => this.resetItems(), this, [this.columns()]);\r\n }\r\n\r\n private createColumn(index: number) {\r\n return new Column({\r\n index: index,\r\n items: this.items.filter(item => item.columnIdx() == index)\r\n });\r\n }\r\n\r\n private getMaxHeight(target: number): number {\r\n if (target === 0)\r\n return 0;\r\n\r\n return this.columns().reduce((result, column) => {\r\n const item = _(column.items()).first();\r\n\r\n if (item != undefined)\r\n return Math.max(result, item.height());\r\n\r\n return result;\r\n }, target);\r\n }\r\n\r\n private checkIfItemProcessed(item: GridItemModel) {\r\n return (item.state() === states.active || item.state() === states.hidden) &&\r\n item.columnIdx() === item.attachedTo() &&\r\n item.initialized();\r\n }\r\n}","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".grid-new__column{flex-shrink:0;position:relative;display:block}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".grid-new{position:relative;display:block}.grid-new--smooth-resize{transition:height 350ms ease-in-out;overflow:hidden}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".grid-new__item{position:relative;display:block}.grid-new__item--empty{position:absolute;bottom:0;left:0;right:0}.grid-new__item--hidden{visibility:hidden;margin:0 !important}.grid-new__item--focused{z-index:900}.grid-new__item__body{position:relative;animation-duration:400ms}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".grid-new__stage{display:flex;flex-wrap:nowrap}.grid-new__stage--limited{overflow:hidden}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;"],"sourceRoot":""}