@skyux/list-builder-common 5.5.0 → 5.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-list-builder-common.umd.js +0 -1
- package/documentation.json +9 -9
- package/esm2015/lib/helpers.js +2 -2
- package/esm2015/lib/helpers.js.map +1 -1
- package/esm2015/lib/rxstate/async-item.js +0 -1
- package/esm2015/lib/rxstate/async-item.js.map +1 -1
- package/esm2015/lib/rxstate/state-node.js +1 -1
- package/esm2015/lib/rxstate/state-node.js.map +1 -1
- package/esm2015/lib/rxstate/state-orchestrator.js.map +1 -1
- package/esm2015/lib/state/sort/field-selector.model.js.map +1 -1
- package/fesm2015/skyux-list-builder-common.js +3 -4
- package/fesm2015/skyux-list-builder-common.js.map +1 -1
- package/package.json +8 -8
package/documentation.json
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"flags": {},
|
|
27
27
|
"sources": [
|
|
28
28
|
{
|
|
29
|
-
"fileName": "
|
|
29
|
+
"fileName": "projects/list-builder-common/src/state/items/item.model.ts",
|
|
30
30
|
"line": 19,
|
|
31
31
|
"character": 2
|
|
32
32
|
}
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
},
|
|
99
99
|
"sources": [
|
|
100
100
|
{
|
|
101
|
-
"fileName": "
|
|
101
|
+
"fileName": "projects/list-builder-common/src/state/items/item.model.ts",
|
|
102
102
|
"line": 5,
|
|
103
103
|
"character": 9
|
|
104
104
|
}
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
},
|
|
128
128
|
"sources": [
|
|
129
129
|
{
|
|
130
|
-
"fileName": "
|
|
130
|
+
"fileName": "projects/list-builder-common/src/state/items/item.model.ts",
|
|
131
131
|
"line": 11,
|
|
132
132
|
"character": 9
|
|
133
133
|
}
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
},
|
|
158
158
|
"sources": [
|
|
159
159
|
{
|
|
160
|
-
"fileName": "
|
|
160
|
+
"fileName": "projects/list-builder-common/src/state/items/item.model.ts",
|
|
161
161
|
"line": 17,
|
|
162
162
|
"character": 9
|
|
163
163
|
}
|
|
@@ -188,7 +188,7 @@
|
|
|
188
188
|
],
|
|
189
189
|
"sources": [
|
|
190
190
|
{
|
|
191
|
-
"fileName": "
|
|
191
|
+
"fileName": "projects/list-builder-common/src/state/items/item.model.ts",
|
|
192
192
|
"line": 1,
|
|
193
193
|
"character": 13
|
|
194
194
|
}
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
"flags": {},
|
|
210
210
|
"sources": [
|
|
211
211
|
{
|
|
212
|
-
"fileName": "
|
|
212
|
+
"fileName": "projects/list-builder-common/src/state/sort/field-selector.model.ts",
|
|
213
213
|
"line": 12,
|
|
214
214
|
"character": 2
|
|
215
215
|
}
|
|
@@ -257,7 +257,7 @@
|
|
|
257
257
|
},
|
|
258
258
|
"sources": [
|
|
259
259
|
{
|
|
260
|
-
"fileName": "
|
|
260
|
+
"fileName": "projects/list-builder-common/src/state/sort/field-selector.model.ts",
|
|
261
261
|
"line": 5,
|
|
262
262
|
"character": 9
|
|
263
263
|
}
|
|
@@ -281,7 +281,7 @@
|
|
|
281
281
|
},
|
|
282
282
|
"sources": [
|
|
283
283
|
{
|
|
284
|
-
"fileName": "
|
|
284
|
+
"fileName": "projects/list-builder-common/src/state/sort/field-selector.model.ts",
|
|
285
285
|
"line": 10,
|
|
286
286
|
"character": 9
|
|
287
287
|
}
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
],
|
|
312
312
|
"sources": [
|
|
313
313
|
{
|
|
314
|
-
"fileName": "
|
|
314
|
+
"fileName": "projects/list-builder-common/src/state/sort/field-selector.model.ts",
|
|
315
315
|
"line": 1,
|
|
316
316
|
"character": 13
|
|
317
317
|
}
|
package/esm2015/lib/helpers.js
CHANGED
|
@@ -4,7 +4,7 @@ export function getData(item, selector) {
|
|
|
4
4
|
if (!selector) {
|
|
5
5
|
return undefined;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
const resultFieldParts = selector.split('.');
|
|
8
8
|
if (resultFieldParts.length > 0 && resultFieldParts[0] === '') {
|
|
9
9
|
resultFieldParts.shift();
|
|
10
10
|
}
|
|
@@ -12,7 +12,7 @@ export function getData(item, selector) {
|
|
|
12
12
|
/* istanbul ignore else */
|
|
13
13
|
if (resultFieldParts.length > 0) {
|
|
14
14
|
for (let index = 0; index < resultFieldParts.length; index++) {
|
|
15
|
-
|
|
15
|
+
const part = resultFieldParts[index];
|
|
16
16
|
/* tslint:disable:no-null-keyword */
|
|
17
17
|
/* istanbul ignore else */
|
|
18
18
|
if (result[part] === null || result[part] === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../libs/components/list-builder-common/src/lib/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,gBAAgB;AAChB,MAAM,UAAU,OAAO,CAAC,IAAS,EAAE,QAAgB;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../libs/components/list-builder-common/src/lib/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,gBAAgB;AAChB,MAAM,UAAU,OAAO,CAAC,IAAS,EAAE,QAAgB;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7D,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC1B;IAED,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,0BAA0B;IAC1B,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5D,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACrC,oCAAoC;YACpC,0BAA0B;YAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;gBACvD,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;YACD,mCAAmC;YAEnC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;SACvB;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,OAAO,CAAC,MAAW,EAAE,MAAW;IAC9C,oCAAoC;IACpC,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,MAAM,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,CAAC,CAAC;KACX;IACD,mCAAmC;IAEnC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACxC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;KAC/B;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACxC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;KAC/B;IACD,IAAI,MAAM,KAAK,MAAM,EAAE;QACrB,OAAO,CAAC,CAAC;KACV;IAED,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;EAGE;AACF,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAAI,GAAQ;IACtC,0BAA0B;IAC1B,OAAO,CACL,CAAC,CAAC,GAAG;QACL,CAAC,GAAG,YAAY,UAAU;YACxB,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAC3E,CAAC;AACJ,CAAC","sourcesContent":["import { Observable } from 'rxjs';\n\n/** @internal */\nexport function getData(item: any, selector: string): any {\n if (!selector) {\n return undefined;\n }\n\n const resultFieldParts = selector.split('.');\n if (resultFieldParts.length > 0 && resultFieldParts[0] === '') {\n resultFieldParts.shift();\n }\n\n let result = item;\n\n /* istanbul ignore else */\n if (resultFieldParts.length > 0) {\n for (let index = 0; index < resultFieldParts.length; index++) {\n const part = resultFieldParts[index];\n /* tslint:disable:no-null-keyword */\n /* istanbul ignore else */\n if (result[part] === null || result[part] === undefined) {\n result = null;\n break;\n }\n /* tslint:enable:no-null-keyword */\n\n result = result[part];\n }\n }\n\n return result;\n}\n\n/** @internal */\nexport function compare(value1: any, value2: any) {\n /* tslint:disable:no-null-keyword */\n if (value1 === null) {\n return 1;\n } else if (value2 === null) {\n return -1;\n }\n /* tslint:enable:no-null-keyword */\n\n if (value1 && typeof value1 === 'string') {\n value1 = value1.toLowerCase();\n }\n\n if (value2 && typeof value2 === 'string') {\n value2 = value2.toLowerCase();\n }\n if (value1 === value2) {\n return 0;\n }\n\n return value1 > value2 ? 1 : -1;\n}\n\n/*\n Taken directly from rxjs's internal utility to determine whether an object is an Obserable.\n See: https://github.com/ReactiveX/rxjs/blob/master/src/internal/util/isObservable.ts\n*/\n/** @internal */\nexport function isObservable<T>(obj: any): obj is Observable<T> {\n /* istanbul ignore next */\n return (\n !!obj &&\n (obj instanceof Observable ||\n (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'))\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-item.js","sourceRoot":"","sources":["../../../../../../../libs/components/list-builder-common/src/lib/rxstate/async-item.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,
|
|
1
|
+
{"version":3,"file":"async-item.js","sourceRoot":"","sources":["../../../../../../../libs/components/list-builder-common/src/lib/rxstate/async-item.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,YACS,OAAU,EAAO,EACjB,aAAkB,IAAI,EACtB,UAAU,KAAK;QAFf,SAAI,GAAJ,IAAI,CAAa;QACjB,eAAU,GAAV,UAAU,CAAY;QACtB,YAAO,GAAP,OAAO,CAAQ;IACrB,CAAC;CACL","sourcesContent":["/**\n * @internal\n */\nexport class AsyncItem<T> {\n constructor(\n public item: T = {} as T,\n public lastUpdate: any = null,\n public loading = false\n ) {}\n}\n"]}
|
|
@@ -24,7 +24,7 @@ export class StateNode extends BehaviorSubject {
|
|
|
24
24
|
zip
|
|
25
25
|
.apply(this, orchestrators)
|
|
26
26
|
.pipe(observableMap((s) => {
|
|
27
|
-
|
|
27
|
+
const result = {};
|
|
28
28
|
for (let i = 0; i < stateKeys.length; i++) {
|
|
29
29
|
const key = stateKeys[i];
|
|
30
30
|
result[key] = s[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-node.js","sourceRoot":"","sources":["../../../../../../../libs/components/list-builder-common/src/lib/rxstate/state-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"state-node.js","sourceRoot":"","sources":["../../../../../../../libs/components/list-builder-common/src/lib/rxstate/state-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAItD;;GAEG;AACH,MAAM,OAAO,SAAa,SAAQ,eAAkB;IAGlD,YACU,YAAe,EACf,UAAgC;QAExC,KAAK,CAAC,YAAY,CAAC,CAAC;QAHZ,iBAAY,GAAZ,YAAY,CAAG;QACf,eAAU,GAAV,UAAU,CAAsB;QAJlC,aAAQ,GAAgC,EAAE,CAAC;IAOnD,CAAC;IAEM,QAAQ,CAAC,QAAgB,EAAE,YAAiB;QACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAEM,KAAK;QACV,MAAM,SAAS,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAgC,IAAI,CAAC,YAAY,CAAC;QAE5D,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAC1D,CAAC;QAEF,GAAG;aACA,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC;aAC1B,IAAI,CACH,aAAa,CAAC,CAAC,CAAM,EAAE,EAAE;YACvB,MAAM,MAAM,GAAQ,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACpB;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CACH;aACA,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;CACF","sourcesContent":["import { BehaviorSubject, zip } from 'rxjs';\nimport { map as observableMap } from 'rxjs/operators';\n\nimport { StateDispatcher } from './state-dispatcher';\n\n/**\n * @internal\n */\nexport class StateNode<T> extends BehaviorSubject<T> {\n private stateMap: { [stateKey: string]: any } = {};\n\n constructor(\n private initialState: T,\n private dispatcher: StateDispatcher<any>\n ) {\n super(initialState);\n }\n\n public register(stateKey: string, orchestrator: any) {\n this.stateMap[stateKey] = orchestrator;\n return this;\n }\n\n public reset() {\n this.next(this.initialState);\n }\n\n public begin() {\n const stateKeys: string[] = Object.keys(this.stateMap);\n const init: { [stateKey: string]: any } = this.initialState;\n\n const orchestrators = stateKeys.map((key) =>\n new this.stateMap[key]().scan(init[key], this.dispatcher)\n );\n\n zip\n .apply(this, orchestrators)\n .pipe(\n observableMap((s: any) => {\n const result: any = {};\n for (let i = 0; i < stateKeys.length; i++) {\n const key = stateKeys[i];\n result[key] = s[i];\n }\n\n return result;\n })\n )\n .subscribe((s: any) => this.next(s));\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-orchestrator.js","sourceRoot":"","sources":["../../../../../../../libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state-orchestrator.js","sourceRoot":"","sources":["../../../../../../../libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACU,sBAAiB,GAAe,EAAE,CAAC;QAEnC,wBAAmB,GAEvB,EAAE,CAAC;IA+CT,CAAC;IA7CQ,QAAQ,CACb,MAAW,EACX,QAAyE;QAEzE,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CACT,YAAwB,EACxB,OAA4B;QAE5B,8CAA8C;QAC9C,IAAI,YAAY,IAAI,IAAI,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;SACH;QAED,OAAO,OAAO,CAAC,IAAI,CACjB,IAAI,CAAC,CAAC,KAAU,EAAE,MAAW,EAAE,EAAE;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAQ,CAAC;gBAE3C,kHAAkH;gBAClH,IACE,MAAM,YAAY,CAAC;oBACnB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EACzD;oBACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;wBAC7C,KAAK;wBACL,MAAM;wBACN,YAAY;qBACb,CAAC,CAAC;iBACJ;aACF;YAED,OAAO,KAAK,CAAC;QACf,CAAC,EAAE,YAAY,CAAC,CACjB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { Observable } from 'rxjs';\nimport { scan } from 'rxjs/operators';\n\n/**\n * @internal\n */\nexport class StateOrchestrator<TStateNode, TAction> {\n private registeredActions: Array<any> = [];\n\n private registeredCallbacks: Array<\n (state: TStateNode, action: TAction, initialState?: any) => any\n > = [];\n\n public register(\n action: any,\n callback: (state: TStateNode, action: TAction, initialState?: any) => any\n ): StateOrchestrator<TStateNode, TAction> {\n if (this.registeredActions.indexOf(action) === -1) {\n this.registeredActions.push(action);\n this.registeredCallbacks.push(callback);\n }\n\n return this;\n }\n\n public scan(\n initialState: TStateNode,\n actions: Observable<TAction>\n ): Observable<any> {\n /* tslint:disable-next-line:no-null-keyword */\n if (initialState == null) {\n throw new Error(\n 'Initial state for an orchestrator should never be null. Check your StateNode definition and registrations.'\n );\n }\n\n return actions.pipe(\n scan((state: any, action: any) => {\n for (let i = 0; i < this.registeredActions.length; i++) {\n const a = this.registeredActions[i] as any;\n\n // length is seemingly arbitrary but it's a stopgap to prevent checking via constructor name when code is minified\n if (\n action instanceof a ||\n (a.name.length > 4 && action.constructor.name === a.name)\n ) {\n return this.registeredCallbacks[i].apply(this, [\n state,\n action,\n initialState,\n ]);\n }\n }\n\n return state;\n }, initialState)\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-selector.model.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder-common/src/lib/state/sort/field-selector.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,0BAA0B;IAWrC,YAAY,IAAU;QAVtB;;WAEG;QACI,eAAU,
|
|
1
|
+
{"version":3,"file":"field-selector.model.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder-common/src/lib/state/sort/field-selector.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,0BAA0B;IAWrC,YAAY,IAAU;QAVtB;;WAEG;QACI,eAAU,GAAG,KAAK,CAAC;QAQxB,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SACnC;IACH,CAAC;CACF","sourcesContent":["export class ListSortFieldSelectorModel {\n /**\n * Indicates whether to sort in descending order.\n */\n public descending = false;\n\n /**\n * Specifies the fields to sort.\n */\n public fieldSelector: string;\n\n constructor(data?: any) {\n if (data) {\n this.fieldSelector = data.fieldSelector;\n this.descending = data.descending;\n }\n }\n}\n"]}
|
|
@@ -34,7 +34,7 @@ function getData(item, selector) {
|
|
|
34
34
|
if (!selector) {
|
|
35
35
|
return undefined;
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
const resultFieldParts = selector.split('.');
|
|
38
38
|
if (resultFieldParts.length > 0 && resultFieldParts[0] === '') {
|
|
39
39
|
resultFieldParts.shift();
|
|
40
40
|
}
|
|
@@ -42,7 +42,7 @@ function getData(item, selector) {
|
|
|
42
42
|
/* istanbul ignore else */
|
|
43
43
|
if (resultFieldParts.length > 0) {
|
|
44
44
|
for (let index = 0; index < resultFieldParts.length; index++) {
|
|
45
|
-
|
|
45
|
+
const part = resultFieldParts[index];
|
|
46
46
|
/* tslint:disable:no-null-keyword */
|
|
47
47
|
/* istanbul ignore else */
|
|
48
48
|
if (result[part] === null || result[part] === undefined) {
|
|
@@ -92,7 +92,6 @@ function isObservable(obj) {
|
|
|
92
92
|
* @internal
|
|
93
93
|
*/
|
|
94
94
|
class AsyncItem {
|
|
95
|
-
/* tslint:disable:no-null-keyword */
|
|
96
95
|
constructor(item = {}, lastUpdate = null, loading = false) {
|
|
97
96
|
this.item = item;
|
|
98
97
|
this.lastUpdate = lastUpdate;
|
|
@@ -154,7 +153,7 @@ class StateNode extends BehaviorSubject {
|
|
|
154
153
|
zip
|
|
155
154
|
.apply(this, orchestrators)
|
|
156
155
|
.pipe(map((s) => {
|
|
157
|
-
|
|
156
|
+
const result = {};
|
|
158
157
|
for (let i = 0; i < stateKeys.length; i++) {
|
|
159
158
|
const key = stateKeys[i];
|
|
160
159
|
result[key] = s[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-list-builder-common.js","sources":["../../../../../libs/components/list-builder-common/src/lib/state/items/item.model.ts","../../../../../libs/components/list-builder-common/src/lib/state/sort/field-selector.model.ts","../../../../../libs/components/list-builder-common/src/lib/helpers.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/async-item.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/async-list.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/helpers.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-dispatcher.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-node.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts","../../../../../libs/components/list-builder-common/src/skyux-list-builder-common.ts"],"sourcesContent":["export class ListItemModel {\n /**\n * Specifies the data for the item in the list.\n */\n public data: any;\n\n /**\n * Specifies the ID for the item in the list.\n * @required\n */\n public id: string;\n\n /**\n * Indicates whether the item in the list is selected.\n * @default false\n */\n public isSelected?: boolean;\n\n constructor(id: string, data?: any, isSelected?: boolean) {\n if (id === undefined) {\n throw new Error('All list item models require an ID');\n }\n\n this.id = id;\n\n if (data !== undefined) {\n this.data = data;\n }\n\n if (isSelected !== undefined) {\n this.isSelected = isSelected;\n }\n }\n}\n","export class ListSortFieldSelectorModel {\n /**\n * Indicates whether to sort in descending order.\n */\n public descending: boolean = false;\n\n /**\n * Specifies the fields to sort.\n */\n public fieldSelector: string;\n\n constructor(data?: any) {\n if (data) {\n this.fieldSelector = data.fieldSelector;\n this.descending = data.descending;\n }\n }\n}\n","import { Observable } from 'rxjs';\n\n/** @internal */\nexport function getData(item: any, selector: string): any {\n if (!selector) {\n return undefined;\n }\n\n let resultFieldParts = selector.split('.');\n if (resultFieldParts.length > 0 && resultFieldParts[0] === '') {\n resultFieldParts.shift();\n }\n\n let result = item;\n\n /* istanbul ignore else */\n if (resultFieldParts.length > 0) {\n for (let index = 0; index < resultFieldParts.length; index++) {\n let part = resultFieldParts[index];\n /* tslint:disable:no-null-keyword */\n /* istanbul ignore else */\n if (result[part] === null || result[part] === undefined) {\n result = null;\n break;\n }\n /* tslint:enable:no-null-keyword */\n\n result = result[part];\n }\n }\n\n return result;\n}\n\n/** @internal */\nexport function compare(value1: any, value2: any) {\n /* tslint:disable:no-null-keyword */\n if (value1 === null) {\n return 1;\n } else if (value2 === null) {\n return -1;\n }\n /* tslint:enable:no-null-keyword */\n\n if (value1 && typeof value1 === 'string') {\n value1 = value1.toLowerCase();\n }\n\n if (value2 && typeof value2 === 'string') {\n value2 = value2.toLowerCase();\n }\n if (value1 === value2) {\n return 0;\n }\n\n return value1 > value2 ? 1 : -1;\n}\n\n/*\n Taken directly from rxjs's internal utility to determine whether an object is an Obserable.\n See: https://github.com/ReactiveX/rxjs/blob/master/src/internal/util/isObservable.ts\n*/\n/** @internal */\nexport function isObservable<T>(obj: any): obj is Observable<T> {\n /* istanbul ignore next */\n return (\n !!obj &&\n (obj instanceof Observable ||\n (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'))\n );\n}\n","/**\n * @internal\n */\nexport class AsyncItem<T> {\n /* tslint:disable:no-null-keyword */\n constructor(\n public item: T = <T>{},\n public lastUpdate: any = null,\n public loading: boolean = false\n ) {}\n}\n","/**\n * @internal\n */\nexport class AsyncList<T> {\n /* tslint:disable:no-null-keyword */\n constructor(\n public items: T[] = [],\n public lastUpdate: any = null,\n public loading: boolean = false,\n public count: number = items.length\n ) {}\n}\n","import { Observable } from 'rxjs';\n\n/** @internal */\nexport function getValue(property: any, callback: any): Observable<any> {\n if (property instanceof Observable) {\n property.subscribe((value) => callback(value));\n return property;\n } else {\n return callback(property);\n }\n}\n","import { Subject } from 'rxjs';\n\n/**\n * @internal\n */\nexport class StateDispatcher<TAction> extends Subject<TAction> {}\n","import { BehaviorSubject, zip } from 'rxjs';\n\nimport { map as observableMap } from 'rxjs/operators';\n\nimport { StateDispatcher } from './state-dispatcher';\n\n/**\n * @internal\n */\nexport class StateNode<T> extends BehaviorSubject<T> {\n private stateMap: { [stateKey: string]: any } = {};\n\n constructor(\n private initialState: T,\n private dispatcher: StateDispatcher<any>\n ) {\n super(initialState);\n }\n\n public register(stateKey: string, orchestrator: any) {\n this.stateMap[stateKey] = orchestrator;\n return this;\n }\n\n public reset() {\n this.next(this.initialState);\n }\n\n public begin() {\n const stateKeys: Array<string> = Object.keys(this.stateMap);\n const init: { [stateKey: string]: any } = this.initialState;\n\n const orchestrators = stateKeys.map((key) =>\n new this.stateMap[key]().scan(init[key], this.dispatcher)\n );\n\n zip\n .apply(this, orchestrators)\n .pipe(\n observableMap((s: any) => {\n let result: any = <T>{};\n for (let i = 0; i < stateKeys.length; i++) {\n const key = stateKeys[i];\n result[key] = s[i];\n }\n\n return result;\n })\n )\n .subscribe((s: any) => this.next(s));\n }\n}\n","import { Observable } from 'rxjs';\n\nimport { scan } from 'rxjs/operators';\n\n/**\n * @internal\n */\nexport class StateOrchestrator<TStateNode, TAction> {\n private registeredActions: Array<any> = [];\n\n private registeredCallbacks: Array<\n (state: TStateNode, action: TAction, initialState?: any) => any\n > = [];\n\n public register(\n action: any,\n callback: (state: TStateNode, action: TAction, initialState?: any) => any\n ): StateOrchestrator<TStateNode, TAction> {\n if (this.registeredActions.indexOf(action) === -1) {\n this.registeredActions.push(action);\n this.registeredCallbacks.push(callback);\n }\n\n return this;\n }\n\n public scan(\n initialState: TStateNode,\n actions: Observable<TAction>\n ): Observable<any> {\n /* tslint:disable-next-line:no-null-keyword */\n if (initialState == null) {\n throw new Error(\n 'Initial state for an orchestrator should never be null. Check your StateNode definition and registrations.'\n );\n }\n\n return actions.pipe(\n scan((state: any, action: any) => {\n for (let i = 0; i < this.registeredActions.length; i++) {\n const a = this.registeredActions[i] as any;\n\n // length is seemingly arbitrary but it's a stopgap to prevent checking via constructor name when code is minified\n if (\n action instanceof a ||\n (a.name.length > 4 && action.constructor.name === a.name)\n ) {\n return this.registeredCallbacks[i].apply(this, [\n state,\n action,\n initialState,\n ]);\n }\n }\n\n return state;\n }, initialState)\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableMap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-list-builder-common.js","sources":["../../../../../libs/components/list-builder-common/src/lib/state/items/item.model.ts","../../../../../libs/components/list-builder-common/src/lib/state/sort/field-selector.model.ts","../../../../../libs/components/list-builder-common/src/lib/helpers.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/async-item.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/async-list.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/helpers.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-dispatcher.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-node.ts","../../../../../libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts","../../../../../libs/components/list-builder-common/src/skyux-list-builder-common.ts"],"sourcesContent":["export class ListItemModel {\n /**\n * Specifies the data for the item in the list.\n */\n public data: any;\n\n /**\n * Specifies the ID for the item in the list.\n * @required\n */\n public id: string;\n\n /**\n * Indicates whether the item in the list is selected.\n * @default false\n */\n public isSelected?: boolean;\n\n constructor(id: string, data?: any, isSelected?: boolean) {\n if (id === undefined) {\n throw new Error('All list item models require an ID');\n }\n\n this.id = id;\n\n if (data !== undefined) {\n this.data = data;\n }\n\n if (isSelected !== undefined) {\n this.isSelected = isSelected;\n }\n }\n}\n","export class ListSortFieldSelectorModel {\n /**\n * Indicates whether to sort in descending order.\n */\n public descending = false;\n\n /**\n * Specifies the fields to sort.\n */\n public fieldSelector: string;\n\n constructor(data?: any) {\n if (data) {\n this.fieldSelector = data.fieldSelector;\n this.descending = data.descending;\n }\n }\n}\n","import { Observable } from 'rxjs';\n\n/** @internal */\nexport function getData(item: any, selector: string): any {\n if (!selector) {\n return undefined;\n }\n\n const resultFieldParts = selector.split('.');\n if (resultFieldParts.length > 0 && resultFieldParts[0] === '') {\n resultFieldParts.shift();\n }\n\n let result = item;\n\n /* istanbul ignore else */\n if (resultFieldParts.length > 0) {\n for (let index = 0; index < resultFieldParts.length; index++) {\n const part = resultFieldParts[index];\n /* tslint:disable:no-null-keyword */\n /* istanbul ignore else */\n if (result[part] === null || result[part] === undefined) {\n result = null;\n break;\n }\n /* tslint:enable:no-null-keyword */\n\n result = result[part];\n }\n }\n\n return result;\n}\n\n/** @internal */\nexport function compare(value1: any, value2: any) {\n /* tslint:disable:no-null-keyword */\n if (value1 === null) {\n return 1;\n } else if (value2 === null) {\n return -1;\n }\n /* tslint:enable:no-null-keyword */\n\n if (value1 && typeof value1 === 'string') {\n value1 = value1.toLowerCase();\n }\n\n if (value2 && typeof value2 === 'string') {\n value2 = value2.toLowerCase();\n }\n if (value1 === value2) {\n return 0;\n }\n\n return value1 > value2 ? 1 : -1;\n}\n\n/*\n Taken directly from rxjs's internal utility to determine whether an object is an Obserable.\n See: https://github.com/ReactiveX/rxjs/blob/master/src/internal/util/isObservable.ts\n*/\n/** @internal */\nexport function isObservable<T>(obj: any): obj is Observable<T> {\n /* istanbul ignore next */\n return (\n !!obj &&\n (obj instanceof Observable ||\n (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'))\n );\n}\n","/**\n * @internal\n */\nexport class AsyncItem<T> {\n constructor(\n public item: T = {} as T,\n public lastUpdate: any = null,\n public loading = false\n ) {}\n}\n","/**\n * @internal\n */\nexport class AsyncList<T> {\n /* tslint:disable:no-null-keyword */\n constructor(\n public items: T[] = [],\n public lastUpdate: any = null,\n public loading: boolean = false,\n public count: number = items.length\n ) {}\n}\n","import { Observable } from 'rxjs';\n\n/** @internal */\nexport function getValue(property: any, callback: any): Observable<any> {\n if (property instanceof Observable) {\n property.subscribe((value) => callback(value));\n return property;\n } else {\n return callback(property);\n }\n}\n","import { Subject } from 'rxjs';\n\n/**\n * @internal\n */\nexport class StateDispatcher<TAction> extends Subject<TAction> {}\n","import { BehaviorSubject, zip } from 'rxjs';\nimport { map as observableMap } from 'rxjs/operators';\n\nimport { StateDispatcher } from './state-dispatcher';\n\n/**\n * @internal\n */\nexport class StateNode<T> extends BehaviorSubject<T> {\n private stateMap: { [stateKey: string]: any } = {};\n\n constructor(\n private initialState: T,\n private dispatcher: StateDispatcher<any>\n ) {\n super(initialState);\n }\n\n public register(stateKey: string, orchestrator: any) {\n this.stateMap[stateKey] = orchestrator;\n return this;\n }\n\n public reset() {\n this.next(this.initialState);\n }\n\n public begin() {\n const stateKeys: string[] = Object.keys(this.stateMap);\n const init: { [stateKey: string]: any } = this.initialState;\n\n const orchestrators = stateKeys.map((key) =>\n new this.stateMap[key]().scan(init[key], this.dispatcher)\n );\n\n zip\n .apply(this, orchestrators)\n .pipe(\n observableMap((s: any) => {\n const result: any = {};\n for (let i = 0; i < stateKeys.length; i++) {\n const key = stateKeys[i];\n result[key] = s[i];\n }\n\n return result;\n })\n )\n .subscribe((s: any) => this.next(s));\n }\n}\n","import { Observable } from 'rxjs';\nimport { scan } from 'rxjs/operators';\n\n/**\n * @internal\n */\nexport class StateOrchestrator<TStateNode, TAction> {\n private registeredActions: Array<any> = [];\n\n private registeredCallbacks: Array<\n (state: TStateNode, action: TAction, initialState?: any) => any\n > = [];\n\n public register(\n action: any,\n callback: (state: TStateNode, action: TAction, initialState?: any) => any\n ): StateOrchestrator<TStateNode, TAction> {\n if (this.registeredActions.indexOf(action) === -1) {\n this.registeredActions.push(action);\n this.registeredCallbacks.push(callback);\n }\n\n return this;\n }\n\n public scan(\n initialState: TStateNode,\n actions: Observable<TAction>\n ): Observable<any> {\n /* tslint:disable-next-line:no-null-keyword */\n if (initialState == null) {\n throw new Error(\n 'Initial state for an orchestrator should never be null. Check your StateNode definition and registrations.'\n );\n }\n\n return actions.pipe(\n scan((state: any, action: any) => {\n for (let i = 0; i < this.registeredActions.length; i++) {\n const a = this.registeredActions[i] as any;\n\n // length is seemingly arbitrary but it's a stopgap to prevent checking via constructor name when code is minified\n if (\n action instanceof a ||\n (a.name.length > 4 && action.constructor.name === a.name)\n ) {\n return this.registeredCallbacks[i].apply(this, [\n state,\n action,\n initialState,\n ]);\n }\n }\n\n return state;\n }, initialState)\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableMap"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/list-builder-common",
|
|
3
|
-
"version": "5.
|
|
4
|
-
"peerDependencies": {
|
|
5
|
-
"@angular/core": "^12.2.16",
|
|
6
|
-
"@angular/common": "^12.2.16"
|
|
7
|
-
},
|
|
8
|
-
"dependencies": {
|
|
9
|
-
"tslib": "^2.3.1"
|
|
10
|
-
},
|
|
3
|
+
"version": "5.6.2",
|
|
11
4
|
"author": "Blackbaud, Inc.",
|
|
12
5
|
"keywords": [
|
|
13
6
|
"blackbaud",
|
|
@@ -22,6 +15,13 @@
|
|
|
22
15
|
"url": "https://github.com/blackbaud/skyux/issues"
|
|
23
16
|
},
|
|
24
17
|
"homepage": "https://github.com/blackbaud/skyux#readme",
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"@angular/common": "^12.2.16",
|
|
20
|
+
"@angular/core": "^12.2.16"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"tslib": "^2.3.1"
|
|
24
|
+
},
|
|
25
25
|
"main": "bundles/skyux-list-builder-common.umd.js",
|
|
26
26
|
"module": "fesm2015/skyux-list-builder-common.js",
|
|
27
27
|
"es2015": "fesm2015/skyux-list-builder-common.js",
|