@gisce/react-ooui 0.13.0 → 0.14.0

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA+C;AA4E7C,uFA5EO,eAAM,OA4EP;AA3ER,4CAA2C;AA4EzC,qFA5EO,WAAI,OA4EP;AA3EN,sDAAqD;AA4EnD,0FA5EO,qBAAS,OA4EP;AA3EX,kDAAiD;AA4E/C,wFA5EO,iBAAO,OA4EP;AA3ET,6DAA4D;AA4E1D,yFA5EO,mBAAQ,OA4EP;AA3EV,6DAA4D;AAyG1D,yFAzGO,mBAAQ,OAyGP;AAxGV,8DAAwC;AA2EtC,eA3EK,cAAI,CA2EL;AA1EN,8CAA6C;AA+E3C,sFA/EO,aAAK,OA+EP;AA9EP,0DAAyD;AA8HvD,4FA9HO,yBAAW,OA8HP;AA7Hb,sDAAqD;AA8EnD,0FA9EO,qBAAS,OA8EP;AA7EX,kDAAiD;AA8E/C,wFA9EO,iBAAO,OA8EP;AA7ET,qEAA+C;AAuE7C,gBAvEK,eAAK,CAuEL;AAtEP,2EAAqD;AAyEnD,mBAzEK,kBAAQ,CAyEL;AAxEV,8DAAwC;AAuEtC,eAvEK,cAAI,CAuEL;AAtEN,+DAAyC;AA2EvC,gBA3EK,eAAK,CA2EL;AA1EP,6DAAuC;AA2ErC,eA3EK,cAAI,CA2EL;AA1EN,sDAAqD;AA8EnD,0FA9EO,qBAAS,OA8EP;AA7EX,2FAAqE;AAkEnE,uBAlEK,sBAAY,CAkEL;AAjEd,0EAAoD;AA6ElD,qBA7EK,oBAAU,CA6EL;AA5EZ,wDAAuD;AAyFrD,0FAzFO,qBAAS,OAyFP;AAxFX,4DAA2D;AAyFzD,4FAzFO,yBAAW,OAyFP;AAxFb,6DAAuC;AA4FrC,eA5FK,cAAI,CA4FL;AA3FN,qEAA+C;AA4F7C,mBA5FK,kBAAQ,CA4FL;AAvFV,sDAAqD;AAwFnD,0FAxFO,qBAAS,OAwFP;AAvFX,gDAA+C;AAwF7C,uFAxFO,eAAM,OAwFP;AAvFR,oEAA8C;AAwF5C,qBAxFK,oBAAU,CAwFL;AAvFZ,4EAAkD;AA2FhD,oBA3FK,uBAAS,CA2FL;AA1FX,0CAAyC;AAiGvC,oFAjGO,SAAG,OAiGP;AAhGL,8CAA6C;AAiG3C,sFAjGO,aAAK,OAiGP;AAhGP,8CAA6C;AAiG3C,sFAjGO,aAAK,OAiGP;AAhGP,qEAAmD;AAkGjD,4BAlGK,uBAAiB,CAkGL;AAjGnB,kFAA4D;AAqG1D,oBArGK,mBAAS,CAqGL;AApGX,8CAA6C;AAwG3C,qFAxGO,WAAI,OAwGP;AAvGN,gDAA+C;AAwG7C,sFAxGO,aAAK,OAwGP;AAvGP,kDAAiD;AAwG/C,uFAxGO,eAAM,OAwGP;AAvGR,+DAGuC;AAgGrC,kGAlGA,iCAAiB,OAkGA;AACjB,8FAlGA,6BAAa,OAkGA;AAhGf,uEAAsE;AA8FpE,+FA9FO,+BAAc,OA8FP;AArEhB,4EAAsD;AAgCpD,6BAhCK,4BAAkB,CAgCL;AA/BpB,8DAAwC;AAwDtC,mBAxDK,kBAAQ,CAwDL;AAvDV,oEAA8C;AAwD5C,sBAxDK,qBAAW,CAwDL;AAvDb,gFAA0D;AAwDxD,4BAxDK,2BAAiB,CAwDL;AAvDnB,oFAA+D;AA2D7D,8BA3DK,4BAAmB,CA2DL;AA1DrB,yEAAmD;AA8DjD,0BA9DK,yBAAe,CA8DL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA+C;AA6E7C,uFA7EO,eAAM,OA6EP;AA5ER,4CAA2C;AA6EzC,qFA7EO,WAAI,OA6EP;AA5EN,sDAAqD;AA6EnD,0FA7EO,qBAAS,OA6EP;AA5EX,kDAAiD;AA6E/C,wFA7EO,iBAAO,OA6EP;AA5ET,6DAA4D;AA6E1D,yFA7EO,mBAAQ,OA6EP;AA5EV,6DAA4D;AA0G1D,yFA1GO,mBAAQ,OA0GP;AAzGV,8DAAwC;AA4EtC,eA5EK,cAAI,CA4EL;AA3EN,8CAA6C;AAgF3C,sFAhFO,aAAK,OAgFP;AA/EP,0DAAyD;AA+HvD,4FA/HO,yBAAW,OA+HP;AA9Hb,sDAAqD;AA+EnD,0FA/EO,qBAAS,OA+EP;AA9EX,kDAAiD;AA+E/C,wFA/EO,iBAAO,OA+EP;AA9ET,qEAA+C;AAwE7C,gBAxEK,eAAK,CAwEL;AAvEP,2EAAqD;AA0EnD,mBA1EK,kBAAQ,CA0EL;AAzEV,8DAAwC;AAwEtC,eAxEK,cAAI,CAwEL;AAvEN,+DAAyC;AA4EvC,gBA5EK,eAAK,CA4EL;AA3EP,6DAAuC;AA4ErC,eA5EK,cAAI,CA4EL;AA3EN,sDAAqD;AA+EnD,0FA/EO,qBAAS,OA+EP;AA9EX,2FAAqE;AAmEnE,uBAnEK,sBAAY,CAmEL;AAlEd,0EAAoD;AA8ElD,qBA9EK,oBAAU,CA8EL;AA7EZ,wDAAuD;AA0FrD,0FA1FO,qBAAS,OA0FP;AAzFX,4DAA2D;AA0FzD,4FA1FO,yBAAW,OA0FP;AAzFb,6DAAuC;AA6FrC,eA7FK,cAAI,CA6FL;AA5FN,qEAA+C;AA6F7C,mBA7FK,kBAAQ,CA6FL;AAxFV,sDAAqD;AAyFnD,0FAzFO,qBAAS,OAyFP;AAxFX,gDAA+C;AAyF7C,uFAzFO,eAAM,OAyFP;AAxFR,oEAA8C;AAyF5C,qBAzFK,oBAAU,CAyFL;AAxFZ,4EAAkD;AA4FhD,oBA5FK,uBAAS,CA4FL;AA3FX,0CAAyC;AAkGvC,oFAlGO,SAAG,OAkGP;AAjGL,8CAA6C;AAkG3C,sFAlGO,aAAK,OAkGP;AAjGP,8CAA6C;AAkG3C,sFAlGO,aAAK,OAkGP;AAjGP,qEAAmD;AAmGjD,4BAnGK,uBAAiB,CAmGL;AAlGnB,kFAA4D;AAsG1D,oBAtGK,mBAAS,CAsGL;AArGX,8CAA6C;AAyG3C,qFAzGO,WAAI,OAyGP;AAxGN,gEAA+D;AAyG7D,8FAzGO,6BAAa,OAyGP;AAxGf,gDAA+C;AAyG7C,sFAzGO,aAAK,OAyGP;AAxGP,kDAAiD;AAyG/C,uFAzGO,eAAM,OAyGP;AAxGR,+DAGuC;AAgGrC,kGAlGA,iCAAiB,OAkGA;AACjB,8FAlGA,6BAAa,OAkGA;AAhGf,uEAAsE;AA8FpE,+FA9FO,+BAAc,OA8FP;AArEhB,4EAAsD;AAgCpD,6BAhCK,4BAAkB,CAgCL;AA/BpB,8DAAwC;AAwDtC,mBAxDK,kBAAQ,CAwDL;AAvDV,oEAA8C;AAwD5C,sBAxDK,qBAAW,CAwDL;AAvDb,gFAA0D;AAwDxD,4BAxDK,2BAAiB,CAwDL;AAvDnB,oFAA+D;AA2D7D,8BA3DK,4BAAmB,CA2DL;AA1DrB,yEAAmD;AA8DjD,0BA9DK,yBAAe,CA8DL"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetFactory.d.ts","sourceRoot":"","sources":["../../src/widgets/WidgetFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAwG1B,QAAA,MAAM,iBAAiB,UAAW,GAAG,+DAWpC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"WidgetFactory.d.ts","sourceRoot":"","sources":["../../src/widgets/WidgetFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA2G1B,QAAA,MAAM,iBAAiB,UAAW,GAAG,+DAWpC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -71,6 +71,8 @@ var getWidgetType = function (type) {
71
71
  return Indicator_1.Indicator;
72
72
  case "tags":
73
73
  return Tags_1.Tags;
74
+ case "multicheckbox":
75
+ return index_1.MultiCheckbox;
74
76
  case "radio":
75
77
  return index_1.Radio;
76
78
  case "switch":
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetFactory.js","sourceRoot":"","sources":["../../src/widgets/WidgetFactory.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,iCA0BiB;AACjB,sCAAqC;AACrC,gDAA+C;AAC/C,8CAA6C;AAC7C,gDAA8C;AAC9C,sCAAqC;AAErC,IAAM,aAAa,GAAG,UAAC,IAAY;IACjC,QAAQ,IAAI,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,UAAU;YACb,OAAO,gBAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,cAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,iBAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,gBAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,eAAO,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,eAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,mBAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,UAAU;YACb,OAAO,gBAAQ,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,gBAAQ,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,iBAAS,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,iBAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,cAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,KAAK;YACR,OAAO,WAAG,CAAC;QACb,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,YAAY;YACf,OAAO,iBAAS,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,qBAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,mBAAQ,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,qBAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,WAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,cAAM,CAAC;QAChB;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC,CAAC;AAEF,IAAM,iBAAiB,GAAG,UAAC,KAAU;IAC3B,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IACf,IAAA,IAAI,GAAuB,IAAI,KAA3B,CAA4B;IAExC,IAAM,WAAW,GAAQ,aAAa,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,eAAK,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC;AAEO,8CAAiB"}
1
+ {"version":3,"file":"WidgetFactory.js","sourceRoot":"","sources":["../../src/widgets/WidgetFactory.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,iCA2BiB;AACjB,sCAAqC;AACrC,gDAA+C;AAC/C,8CAA6C;AAC7C,gDAA8C;AAC9C,sCAAqC;AAErC,IAAM,aAAa,GAAG,UAAC,IAAY;IACjC,QAAQ,IAAI,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,UAAU;YACb,OAAO,gBAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,cAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,iBAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,gBAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,eAAO,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,eAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,mBAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,YAAI,CAAC;QACd,KAAK,UAAU;YACb,OAAO,gBAAQ,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,gBAAQ,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,iBAAS,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,iBAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,cAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,KAAK;YACR,OAAO,WAAG,CAAC;QACb,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,YAAY;YACf,OAAO,iBAAS,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,qBAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,mBAAQ,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,qBAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,WAAI,CAAC;QACd,KAAK,eAAe;YAClB,OAAO,qBAAa,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,aAAK,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,cAAM,CAAC;QAChB;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC,CAAC;AAEF,IAAM,iBAAiB,GAAG,UAAC,KAAU;IAC3B,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IACf,IAAA,IAAI,GAAuB,IAAI,KAA3B,CAA4B;IAExC,IAAM,WAAW,GAAQ,aAAa,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,eAAK,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC;AAEO,8CAAiB"}
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { MultiCheckbox as MultiCheckboxOoui } from "@gisce/ooui";
3
+ import { One2manyValue } from "../base/one2many/One2manyInput";
4
+ declare type MultiCheckboxProps = {
5
+ ooui: MultiCheckboxOoui;
6
+ };
7
+ declare type MultiCheckboxInputProps = MultiCheckboxProps & {
8
+ value?: One2manyValue;
9
+ onChange?: (value: One2manyValue) => void;
10
+ };
11
+ export declare const MultiCheckbox: (props: MultiCheckboxProps) => JSX.Element;
12
+ export declare const MultiCheckboxInput: (props: MultiCheckboxInputProps) => JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=MultiCheckbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiCheckbox.d.ts","sourceRoot":"","sources":["../../../src/widgets/custom/MultiCheckbox.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAgB,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAM7E,aAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAEF,aAAK,uBAAuB,GAAG,kBAAkB,GAAG;IAClD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,kBAAkB,gBAQtD,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,uBAAuB,gBAiHhE,CAAC"}
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __importDefault = (this && this.__importDefault) || function (mod) {
69
+ return (mod && mod.__esModule) ? mod : { "default": mod };
70
+ };
71
+ Object.defineProperty(exports, "__esModule", { value: true });
72
+ exports.MultiCheckboxInput = exports.MultiCheckbox = void 0;
73
+ var react_1 = __importStar(require("react"));
74
+ var Field_1 = __importDefault(require("@/common/Field"));
75
+ var use_deep_compare_effect_1 = __importDefault(require("use-deep-compare-effect"));
76
+ var FormContext_1 = require("@/context/FormContext");
77
+ var antd_1 = require("antd");
78
+ var ConnectionProvider_1 = __importDefault(require("@/ConnectionProvider"));
79
+ var MultiCheckbox = function (props) {
80
+ var ooui = props.ooui;
81
+ return (react_1.default.createElement(Field_1.default, __assign({ type: "array" }, props),
82
+ react_1.default.createElement(exports.MultiCheckboxInput, { ooui: ooui })));
83
+ };
84
+ exports.MultiCheckbox = MultiCheckbox;
85
+ var MultiCheckboxInput = function (props) {
86
+ var value = props.value, ooui = props.ooui, onChange = props.onChange;
87
+ var _a = (value || {}).items, items = _a === void 0 ? [] : _a;
88
+ var itemsToShow = items.filter(function (item) { return item.operation !== "pendingRemove"; }).map(function (item) { return item.id; });
89
+ var _b = react_1.useState([]), options = _b[0], setOptions = _b[1];
90
+ var _c = react_1.useState(), error = _c[0], setError = _c[1];
91
+ var _d = react_1.useState(false), isLoadingOptions = _d[0], setIsLoadingOptions = _d[1];
92
+ var relation = ooui.relation, context = ooui.context, readOnly = ooui.readOnly, field = ooui.field, columns = ooui.columns;
93
+ var formContext = react_1.useContext(FormContext_1.FormContext);
94
+ var getContext = (formContext || {}).getContext;
95
+ use_deep_compare_effect_1.default(function () {
96
+ fetchOptions();
97
+ }, [items]);
98
+ var triggerChange = function (changedValue) {
99
+ onChange === null || onChange === void 0 ? void 0 : onChange({
100
+ items: changedValue,
101
+ });
102
+ };
103
+ function fetchOptions() {
104
+ return __awaiter(this, void 0, void 0, function () {
105
+ var optionsRead, options_1, err_1;
106
+ return __generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0:
109
+ setIsLoadingOptions(true);
110
+ _a.label = 1;
111
+ case 1:
112
+ _a.trys.push([1, 3, 4, 5]);
113
+ return [4 /*yield*/, ConnectionProvider_1.default.getHandler().search({
114
+ model: relation,
115
+ params: [],
116
+ fields: [field],
117
+ context: __assign(__assign({}, getContext === null || getContext === void 0 ? void 0 : getContext()), context),
118
+ })];
119
+ case 2:
120
+ optionsRead = _a.sent();
121
+ options_1 = optionsRead.map(function (item) {
122
+ var value = item[field];
123
+ var formattedValue = value;
124
+ if (Array.isArray(value)) {
125
+ formattedValue = value[1];
126
+ }
127
+ return { label: formattedValue, value: item.id };
128
+ });
129
+ setOptions(options_1);
130
+ return [3 /*break*/, 5];
131
+ case 3:
132
+ err_1 = _a.sent();
133
+ setError(err_1);
134
+ return [3 /*break*/, 5];
135
+ case 4:
136
+ setIsLoadingOptions(false);
137
+ return [7 /*endfinally*/];
138
+ case 5:
139
+ if (error) {
140
+ return [2 /*return*/, react_1.default.createElement(antd_1.Alert, { className: "mt-10", message: error, type: "error", banner: true })];
141
+ }
142
+ return [2 /*return*/];
143
+ }
144
+ });
145
+ });
146
+ }
147
+ ;
148
+ var checkAll = function () {
149
+ onChangeSelected(options.map(function (option) { return option.value; }));
150
+ };
151
+ var uncheckAll = function () {
152
+ onChangeSelected([]);
153
+ };
154
+ var onChangeSelected = function (ids) {
155
+ var newItems = items.map(function (item) {
156
+ if (ids.includes(item.id)) {
157
+ if (item.operation == "pendingRemove") {
158
+ return __assign(__assign({}, item), { operation: "original" });
159
+ }
160
+ else {
161
+ return item;
162
+ }
163
+ }
164
+ else {
165
+ return { id: item.id, operation: 'pendingRemove' };
166
+ }
167
+ });
168
+ var currentIds = newItems.map(function (item) { return item.id; });
169
+ ids.filter(function (id) { return !currentIds.includes(id); }).map(function (id) {
170
+ newItems.push({ id: id, operation: 'pendingLink' });
171
+ });
172
+ triggerChange(newItems);
173
+ };
174
+ if (isLoadingOptions && options.length === 0) {
175
+ return react_1.default.createElement(antd_1.Spin, null);
176
+ }
177
+ return (react_1.default.createElement(react_1.default.Fragment, null,
178
+ react_1.default.createElement("div", { style: { padding: "1rem" } },
179
+ react_1.default.createElement(antd_1.Checkbox.Group, { value: options.length ? itemsToShow : [], disabled: readOnly, onChange: onChangeSelected, style: { width: '100%' } },
180
+ react_1.default.createElement(antd_1.Row, null, options.map(function (option) { return (react_1.default.createElement(antd_1.Col, { span: Math.floor(24 / columns) },
181
+ react_1.default.createElement(antd_1.Checkbox, { value: option.value }, option.label))); }))),
182
+ !readOnly &&
183
+ react_1.default.createElement(antd_1.Space, null,
184
+ react_1.default.createElement(antd_1.Button, { onClick: checkAll, disabled: itemsToShow.length == options.length }, "Check all"),
185
+ react_1.default.createElement(antd_1.Button, { onClick: uncheckAll, disabled: itemsToShow.length === 0 }, "Uncheck all")))));
186
+ };
187
+ exports.MultiCheckboxInput = MultiCheckboxInput;
188
+ //# sourceMappingURL=MultiCheckbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiCheckbox.js","sourceRoot":"","sources":["../../../src/widgets/custom/MultiCheckbox.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gisce/react-ooui",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "main": "dist/index.js",
5
5
  "files": [
6
6
  "dist",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@ant-design/charts": "^1.3.6",
27
- "@gisce/ooui": "^0.10.0",
27
+ "@gisce/ooui": "^0.11.0",
28
28
  "@gisce/react-formiga-table": "^0.3.0",
29
29
  "fiber-diagram": "github:gisce/fiber-diagram",
30
30
  "file-type": "^16.5.0",
package/src/index.ts CHANGED
@@ -35,6 +35,7 @@ import { Image } from "@/widgets/base/Image";
35
35
  import showConfirmDialog from "@/ui/ConfirmDialog";
36
36
  import Dashboard from "@/widgets/views/Dashboard/Dashboard";
37
37
  import { Tags } from "@/widgets/custom/Tags";
38
+ import { MultiCheckbox } from "./widgets/custom/MultiCheckbox";
38
39
  import { Radio } from "@/widgets/custom/Radio";
39
40
  import { Switch } from "@/widgets/custom/Switch";
40
41
  import {
@@ -139,6 +140,7 @@ export {
139
140
  DashboardGridItem,
140
141
  DashboardGrid,
141
142
  Tags,
143
+ MultiCheckbox,
142
144
  Radio,
143
145
  Switch,
144
146
  };
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+
3
+ import { MultiCheckboxInput } from "../../widgets/custom/MultiCheckbox";
4
+ import { Checkbox, Space, Row, Col } from "antd";
5
+ import { MultiCheckbox as MultiCheckboxOoui } from "@gisce/ooui";
6
+ import "antd/dist/antd.css";
7
+ import LocaleProvider from "../../context/LocaleContext";
8
+
9
+ export default {
10
+ title: "Components/Widgets/Custom/MultiCheckbox",
11
+ };
12
+
13
+ export const Default = (): React.ReactElement => {
14
+ const ooui = new MultiCheckboxOoui({
15
+ name: "button_field",
16
+ string: "Lorem ipsum",
17
+ field: "name",
18
+ relation: "res.partner.category"
19
+ });
20
+
21
+ return (
22
+ <LocaleProvider lang="en_US">
23
+ <MultiCheckboxInput ooui={ooui} value={{items: [
24
+ {id: 1, operation: "original"},
25
+ {id: 2, operation: "original"},
26
+ {id: 3, operation: "pendingRemove"}
27
+ ]}}
28
+ />
29
+ </LocaleProvider>
30
+ );
31
+ };
32
+
33
+ export const Readonly = (): React.ReactElement => {
34
+ const ooui = new MultiCheckboxOoui({
35
+ name: "button_field",
36
+ string: "Lorem ipsum",
37
+ field: "name",
38
+ readonly: true,
39
+ relation: "res.partner.category",
40
+ });
41
+
42
+ return (
43
+ <LocaleProvider lang="en_US">
44
+ <MultiCheckboxInput ooui={ooui} value={{items: [
45
+ {id: 1, operation: "original"},
46
+ {id: 2, operation: "original"},
47
+ {id: 3, operation: "pendingRemove"}
48
+ ]}}
49
+ />
50
+ </LocaleProvider>
51
+ );
52
+ };
@@ -24,6 +24,7 @@ import {
24
24
  Email,
25
25
  FloatTime,
26
26
  ProgressBar,
27
+ MultiCheckbox,
27
28
  Radio,
28
29
  Switch,
29
30
  } from "@/index";
@@ -93,6 +94,8 @@ const getWidgetType = (type: string) => {
93
94
  return Indicator;
94
95
  case "tags":
95
96
  return Tags;
97
+ case "multicheckbox":
98
+ return MultiCheckbox;
96
99
  case "radio":
97
100
  return Radio;
98
101
  case "switch":
@@ -0,0 +1,142 @@
1
+ import React, { useContext, useState } from "react";
2
+ import { MultiCheckbox as MultiCheckboxOoui } from "@gisce/ooui";
3
+ import Field from "@/common/Field";
4
+ import { One2manyItem, One2manyValue } from "../base/one2many/One2manyInput";
5
+ import useDeepCompareEffect from "use-deep-compare-effect";
6
+ import { FormContext, FormContextType } from "@/context/FormContext";
7
+ import { Alert, Checkbox, Spin, Col, Row, Button, Space } from "antd";
8
+ import ConnectionProvider from "@/ConnectionProvider";
9
+
10
+ type MultiCheckboxProps = {
11
+ ooui: MultiCheckboxOoui;
12
+ };
13
+
14
+ type MultiCheckboxInputProps = MultiCheckboxProps & {
15
+ value?: One2manyValue;
16
+ onChange?: (value: One2manyValue) => void;
17
+ };
18
+
19
+ export const MultiCheckbox = (props: MultiCheckboxProps) => {
20
+ const { ooui } = props;
21
+
22
+ return (
23
+ <Field type={"array"} {...props}>
24
+ <MultiCheckboxInput ooui={ooui} />
25
+ </Field>
26
+ );
27
+ };
28
+
29
+ export const MultiCheckboxInput = (props: MultiCheckboxInputProps) => {
30
+ const { value, ooui, onChange } = props;
31
+ const { items = [] } = value || {};
32
+ const itemsToShow = items.filter(
33
+ (item) => item.operation !== "pendingRemove"
34
+ ).map((item) => item.id) as number[];
35
+
36
+ const [options, setOptions] = useState<any[]>([]);
37
+ const [error, setError] = useState<string>();
38
+ const [isLoadingOptions, setIsLoadingOptions] = useState<boolean>(false);
39
+ const { relation, context, readOnly, field, columns } = ooui;
40
+
41
+
42
+ const formContext = useContext(FormContext) as FormContextType;
43
+ const { getContext } = formContext || {};
44
+
45
+ useDeepCompareEffect(() => {
46
+ fetchOptions();
47
+ }, [items]);
48
+
49
+ const triggerChange = (changedValue: Array<One2manyItem>) => {
50
+ onChange?.({
51
+ items: changedValue,
52
+ });
53
+ };
54
+
55
+ async function fetchOptions() {
56
+ setIsLoadingOptions(true);
57
+ try {
58
+ const optionsRead = await ConnectionProvider.getHandler().search({
59
+ model: relation,
60
+ params: [],
61
+ fields: [field],
62
+ context: { ...getContext?.(), ...context },
63
+ });
64
+ const options = optionsRead.map((item:any) => {
65
+ const value = item[field];
66
+ let formattedValue = value;
67
+ if (Array.isArray(value)) {
68
+ formattedValue = value[1];
69
+ }
70
+ return {label: formattedValue, value: item.id}
71
+ });
72
+ setOptions(options);
73
+
74
+ } catch (err) {
75
+ setError(err as any)
76
+ } finally {
77
+ setIsLoadingOptions(false);
78
+ }
79
+ if (error) {
80
+ return <Alert className="mt-10" message={error} type="error" banner />;
81
+ }
82
+
83
+
84
+ };
85
+
86
+ const checkAll = () => {
87
+ onChangeSelected(options.map(option => option.value));
88
+ }
89
+
90
+ const uncheckAll = () => {
91
+ onChangeSelected([]);
92
+ }
93
+
94
+ const onChangeSelected = (ids: any[]) => {
95
+ const newItems: One2manyItem[] = items.map((item) => {
96
+ if (ids.includes(item.id as number)) {
97
+ if (item.operation == "pendingRemove") {
98
+ return {
99
+ ...item,
100
+ operation: "original"
101
+ }
102
+ } else {
103
+ return item
104
+ }
105
+ } else {
106
+ return {id: item.id, operation: 'pendingRemove'}
107
+ }
108
+ })
109
+ const currentIds = newItems.map(item => item.id)
110
+ ids.filter(id => !currentIds.includes(id)).map((id) => {
111
+ newItems.push({id, operation: 'pendingLink'});
112
+ });
113
+ triggerChange(newItems);
114
+ };
115
+
116
+ if (isLoadingOptions && options.length === 0) {
117
+ return <Spin />
118
+ }
119
+
120
+ return (
121
+ <>
122
+ <div style={{ padding: "1rem" }}>
123
+ <Checkbox.Group value={options.length ? itemsToShow : []} disabled={readOnly} onChange={onChangeSelected} style={{width: '100%'}}>
124
+ <Row>
125
+ {options.map((option) => (
126
+ <Col span={Math.floor(24 / columns)}>
127
+ <Checkbox value={option.value}>{option.label}</Checkbox>
128
+ </Col>
129
+ ))}
130
+ </Row>
131
+ </Checkbox.Group>
132
+ {!readOnly &&
133
+ <Space>
134
+ <Button onClick={checkAll} disabled={itemsToShow.length == options.length}>Check all</Button>
135
+ <Button onClick={uncheckAll} disabled={itemsToShow.length === 0}>Uncheck all</Button>
136
+ </Space>
137
+ }
138
+ </div>
139
+ </>
140
+ );
141
+
142
+ };