@itrocks/core-transformers 0.0.8 → 0.0.10

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.
@@ -8,6 +8,7 @@ const storage_1 = require("@itrocks/storage");
8
8
  const class_type_1 = require("@itrocks/class-type");
9
9
  const class_type_2 = require("@itrocks/class-type");
10
10
  const property_type_1 = require("@itrocks/property-type");
11
+ const rename_1 = require("@itrocks/rename");
11
12
  const reflect_1 = require("@itrocks/reflect");
12
13
  const reflect_2 = require("@itrocks/reflect");
13
14
  const transformer_1 = require("@itrocks/transformer");
@@ -32,23 +33,31 @@ function collectionEdit(values, object, property) {
32
33
  const inputs = [];
33
34
  for (const object of values) {
34
35
  const attrValue = `value="${depends.representativeValueOf(object)}"`;
35
- inputs.push('<li>' + ((0, storage_1.dataSource)().isObjectConnected(object)
36
- ? `<input id="${fieldId}.${object.id}" name="${fieldName}.${object.id}" ${attrValue}>`
37
- : `<input id="${fieldId}." name="${fieldName}." ${attrValue}>`) + '</li>');
36
+ const objectId = (0, storage_1.dataSource)().isObjectConnected(object) ? '' + object.id : '';
37
+ inputs.push('<li>'
38
+ + `<input name="${fieldName}.${objectId}" ${attrValue}>`
39
+ + `<input id="${fieldId}-id.${objectId}" name="${fieldName}_id.${objectId}" type="hidden" value="${objectId}">`
40
+ + '</li>');
38
41
  }
39
42
  return label + `<ul data-multiple-contained-auto-width data-fetch="${fetch}" data-type="objects">`
40
43
  + inputs.join('')
41
- + `<li><input id="${fieldId}" name="${fieldName}" placeholder="+"></li>`
44
+ + '<li>'
45
+ + `<input name="${fieldName}" placeholder="+">`
46
+ + `<input id="${fieldId}-id" name="${fieldName}_id" type="hidden">`
47
+ + '</li>'
42
48
  + '</ul>';
43
49
  }
44
- function collectionInput(values, object, property) {
50
+ function collectionInput(values, object, property, data) {
45
51
  const entries = Object.entries(values);
46
52
  if (areMayEntityEntries(entries)) {
47
53
  Object.assign(object, { [property]: entries.map(([id, value]) => (0, storage_1.dataSource)().connectObject(value, +id)) });
48
54
  }
49
55
  else {
50
56
  delete object[property];
51
- Object.assign(object, { [property + 'Ids']: Object.keys(values).map(id => +id) });
57
+ const data_property_id = data[(0, rename_1.toField)(property) + '_id'];
58
+ Object.assign(object, {
59
+ [property + 'Ids']: Object.keys(values).map(key => +data_property_id[key]).filter(value => value)
60
+ });
52
61
  }
53
62
  return depends.ignoreTransformedValue;
54
63
  }
@@ -1,9 +1,9 @@
1
1
  import { Dependencies as CollectionTypeDependencies } from './collection-type';
2
2
  import { Dependencies as PrimitiveDependencies } from './primitive';
3
3
  import { Dependencies as StoreDependencies } from './store';
4
- export { HtmlContainer, initContainerTransformers } from './container';
4
+ type Dependencies = CollectionTypeDependencies & PrimitiveDependencies & StoreDependencies;
5
5
  export { initCollectionHtmlTransformers, initCollectionSqlTransformers, initCollectionTransformers } from './collection-type';
6
+ export { HtmlContainer, initContainerTransformers } from './container';
6
7
  export { initBigintHtmlTransformers, initBooleanHtmlTransformers, initBooleanSqlTransformers, initDateHtmlTransformers, initDefaultHtmlEditTransformers, initNumberHtmlTransformers, initPrimitiveTransformers, setCorePrimitiveDependencies, setPrimitiveDependencies } from './primitive';
7
8
  export { initStoreHtmlTransformers, initStoreSqlTransformers, initStoreTransformers, setStoreDependencies, setStoreSqlDependencies, setStoreHtmlDependencies } from './store';
8
- type Dependencies = CollectionTypeDependencies & PrimitiveDependencies & StoreDependencies;
9
9
  export declare function initCoreTransformers(dependencies: Partial<Dependencies>): void;
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setStoreHtmlDependencies = exports.setStoreSqlDependencies = exports.setStoreDependencies = exports.initStoreTransformers = exports.initStoreSqlTransformers = exports.initStoreHtmlTransformers = exports.setPrimitiveDependencies = exports.setCorePrimitiveDependencies = exports.initPrimitiveTransformers = exports.initNumberHtmlTransformers = exports.initDefaultHtmlEditTransformers = exports.initDateHtmlTransformers = exports.initBooleanSqlTransformers = exports.initBooleanHtmlTransformers = exports.initBigintHtmlTransformers = exports.initCollectionTransformers = exports.initCollectionSqlTransformers = exports.initCollectionHtmlTransformers = exports.initContainerTransformers = exports.HtmlContainer = void 0;
3
+ exports.setStoreHtmlDependencies = exports.setStoreSqlDependencies = exports.setStoreDependencies = exports.initStoreTransformers = exports.initStoreSqlTransformers = exports.initStoreHtmlTransformers = exports.setPrimitiveDependencies = exports.setCorePrimitiveDependencies = exports.initPrimitiveTransformers = exports.initNumberHtmlTransformers = exports.initDefaultHtmlEditTransformers = exports.initDateHtmlTransformers = exports.initBooleanSqlTransformers = exports.initBooleanHtmlTransformers = exports.initBigintHtmlTransformers = exports.initContainerTransformers = exports.HtmlContainer = exports.initCollectionTransformers = exports.initCollectionSqlTransformers = exports.initCollectionHtmlTransformers = void 0;
4
4
  exports.initCoreTransformers = initCoreTransformers;
5
5
  const collection_type_1 = require("./collection-type");
6
6
  const container_1 = require("./container");
7
7
  const primitive_1 = require("./primitive");
8
8
  const store_1 = require("./store");
9
- var container_2 = require("./container");
10
- Object.defineProperty(exports, "HtmlContainer", { enumerable: true, get: function () { return container_2.HtmlContainer; } });
11
- Object.defineProperty(exports, "initContainerTransformers", { enumerable: true, get: function () { return container_2.initContainerTransformers; } });
12
9
  var collection_type_2 = require("./collection-type");
13
10
  Object.defineProperty(exports, "initCollectionHtmlTransformers", { enumerable: true, get: function () { return collection_type_2.initCollectionHtmlTransformers; } });
14
11
  Object.defineProperty(exports, "initCollectionSqlTransformers", { enumerable: true, get: function () { return collection_type_2.initCollectionSqlTransformers; } });
15
12
  Object.defineProperty(exports, "initCollectionTransformers", { enumerable: true, get: function () { return collection_type_2.initCollectionTransformers; } });
13
+ var container_2 = require("./container");
14
+ Object.defineProperty(exports, "HtmlContainer", { enumerable: true, get: function () { return container_2.HtmlContainer; } });
15
+ Object.defineProperty(exports, "initContainerTransformers", { enumerable: true, get: function () { return container_2.initContainerTransformers; } });
16
16
  var primitive_2 = require("./primitive");
17
17
  Object.defineProperty(exports, "initBigintHtmlTransformers", { enumerable: true, get: function () { return primitive_2.initBigintHtmlTransformers; } });
18
18
  Object.defineProperty(exports, "initBooleanHtmlTransformers", { enumerable: true, get: function () { return primitive_2.initBooleanHtmlTransformers; } });
@@ -3,6 +3,7 @@ import { dataSource } from '@itrocks/storage';
3
3
  import { baseType } from '@itrocks/class-type';
4
4
  import { typeOf } from '@itrocks/class-type';
5
5
  import { CollectionType } from '@itrocks/property-type';
6
+ import { toField } from '@itrocks/rename';
6
7
  import { ReflectClass } from '@itrocks/reflect';
7
8
  import { ReflectProperty } from '@itrocks/reflect';
8
9
  import { EDIT, HTML } from '@itrocks/transformer';
@@ -27,23 +28,31 @@ function collectionEdit(values, object, property) {
27
28
  const inputs = [];
28
29
  for (const object of values) {
29
30
  const attrValue = `value="${depends.representativeValueOf(object)}"`;
30
- inputs.push('<li>' + (dataSource().isObjectConnected(object)
31
- ? `<input id="${fieldId}.${object.id}" name="${fieldName}.${object.id}" ${attrValue}>`
32
- : `<input id="${fieldId}." name="${fieldName}." ${attrValue}>`) + '</li>');
31
+ const objectId = dataSource().isObjectConnected(object) ? '' + object.id : '';
32
+ inputs.push('<li>'
33
+ + `<input name="${fieldName}.${objectId}" ${attrValue}>`
34
+ + `<input id="${fieldId}-id.${objectId}" name="${fieldName}_id.${objectId}" type="hidden" value="${objectId}">`
35
+ + '</li>');
33
36
  }
34
37
  return label + `<ul data-multiple-contained-auto-width data-fetch="${fetch}" data-type="objects">`
35
38
  + inputs.join('')
36
- + `<li><input id="${fieldId}" name="${fieldName}" placeholder="+"></li>`
39
+ + '<li>'
40
+ + `<input name="${fieldName}" placeholder="+">`
41
+ + `<input id="${fieldId}-id" name="${fieldName}_id" type="hidden">`
42
+ + '</li>'
37
43
  + '</ul>';
38
44
  }
39
- function collectionInput(values, object, property) {
45
+ function collectionInput(values, object, property, data) {
40
46
  const entries = Object.entries(values);
41
47
  if (areMayEntityEntries(entries)) {
42
48
  Object.assign(object, { [property]: entries.map(([id, value]) => dataSource().connectObject(value, +id)) });
43
49
  }
44
50
  else {
45
51
  delete object[property];
46
- Object.assign(object, { [property + 'Ids']: Object.keys(values).map(id => +id) });
52
+ const data_property_id = data[toField(property) + '_id'];
53
+ Object.assign(object, {
54
+ [property + 'Ids']: Object.keys(values).map(key => +data_property_id[key]).filter(value => value)
55
+ });
47
56
  }
48
57
  return depends.ignoreTransformedValue;
49
58
  }
@@ -1,9 +1,9 @@
1
1
  import { Dependencies as CollectionTypeDependencies } from './collection-type';
2
2
  import { Dependencies as PrimitiveDependencies } from './primitive';
3
3
  import { Dependencies as StoreDependencies } from './store';
4
- export { HtmlContainer, initContainerTransformers } from './container';
4
+ type Dependencies = CollectionTypeDependencies & PrimitiveDependencies & StoreDependencies;
5
5
  export { initCollectionHtmlTransformers, initCollectionSqlTransformers, initCollectionTransformers } from './collection-type';
6
+ export { HtmlContainer, initContainerTransformers } from './container';
6
7
  export { initBigintHtmlTransformers, initBooleanHtmlTransformers, initBooleanSqlTransformers, initDateHtmlTransformers, initDefaultHtmlEditTransformers, initNumberHtmlTransformers, initPrimitiveTransformers, setCorePrimitiveDependencies, setPrimitiveDependencies } from './primitive';
7
8
  export { initStoreHtmlTransformers, initStoreSqlTransformers, initStoreTransformers, setStoreDependencies, setStoreSqlDependencies, setStoreHtmlDependencies } from './store';
8
- type Dependencies = CollectionTypeDependencies & PrimitiveDependencies & StoreDependencies;
9
9
  export declare function initCoreTransformers(dependencies: Partial<Dependencies>): void;
@@ -2,8 +2,8 @@ import { initCollectionTransformers } from './collection-type.js';
2
2
  import { initContainerTransformers } from './container.js';
3
3
  import { initPrimitiveTransformers } from './primitive.js';
4
4
  import { setStoreDependencies } from './store.js';
5
- export { HtmlContainer, initContainerTransformers } from './container.js';
6
5
  export { initCollectionHtmlTransformers, initCollectionSqlTransformers, initCollectionTransformers } from './collection-type.js';
6
+ export { HtmlContainer, initContainerTransformers } from './container.js';
7
7
  export { initBigintHtmlTransformers, initBooleanHtmlTransformers, initBooleanSqlTransformers, initDateHtmlTransformers, initDefaultHtmlEditTransformers, initNumberHtmlTransformers, initPrimitiveTransformers, setCorePrimitiveDependencies, setPrimitiveDependencies } from './primitive.js';
8
8
  export { initStoreHtmlTransformers, initStoreSqlTransformers, initStoreTransformers, setStoreDependencies, setStoreSqlDependencies, setStoreHtmlDependencies } from './store.js';
9
9
  export function initCoreTransformers(dependencies) {
package/package.json CHANGED
@@ -28,7 +28,8 @@
28
28
  "README.md",
29
29
  "*/*.d.ts",
30
30
  "*/*.js",
31
- "!*/esm.*"
31
+ "!*/esm.*",
32
+ "!*.map"
32
33
  ],
33
34
  "homepage": "https://it.rocks",
34
35
  "keywords": [
@@ -47,5 +48,5 @@
47
48
  "build:esm": "tsc -p tsconfig.esm.json && node esm/esm"
48
49
  },
49
50
  "types": "./esm/core-transformers.d.ts",
50
- "version": "0.0.8"
51
+ "version": "0.0.10"
51
52
  }