qcobjects-sdk 2.4.66 → 2.5.105-beta

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.
Files changed (147) hide show
  1. package/.github/workflows/npmpublish-beta.yml +4 -2
  2. package/.github/workflows/npmpublish-lts.yml +4 -2
  3. package/.github/workflows/npmpublish-main.yml +2 -2
  4. package/README.md +0 -1
  5. package/VERSION +1 -1
  6. package/build/QCObjects-SDK.js +83 -41
  7. package/build/index.js +17 -7
  8. package/build/js/org.qcobjects.base.components.js +75 -0
  9. package/build/js/org.qcobjects.cloud.auth.session.data.js +98 -101
  10. package/build/js/org.qcobjects.cloud.auth.session.usertoken.js +68 -80
  11. package/build/js/org.qcobjects.components.grid.js +35 -53
  12. package/build/js/org.qcobjects.components.js +145 -237
  13. package/build/js/org.qcobjects.components.list.js +36 -45
  14. package/build/js/org.qcobjects.components.notifications.js +107 -106
  15. package/build/js/org.qcobjects.components.slider.js +183 -169
  16. package/build/js/org.qcobjects.components.splashscreen.js +123 -130
  17. package/build/js/org.qcobjects.controllers.form.js +149 -147
  18. package/build/js/org.qcobjects.controllers.grid.js +226 -215
  19. package/build/js/org.qcobjects.controllers.js +11 -11
  20. package/build/js/org.qcobjects.controllers.list.js +195 -188
  21. package/build/js/org.qcobjects.controllers.slider.js +101 -106
  22. package/build/js/org.qcobjects.controllers.swagger.js +71 -46
  23. package/build/js/org.qcobjects.effects.base.js +86 -0
  24. package/build/js/org.qcobjects.effects.extended.js +318 -0
  25. package/build/js/org.qcobjects.effects.js +26 -394
  26. package/build/js/org.qcobjects.i18n_messages.js +33 -46
  27. package/build/js/org.qcobjects.modal.controllers.js +16 -15
  28. package/build/js/org.qcobjects.modal.effects.js +23 -28
  29. package/build/js/org.qcobjects.models.js +11 -11
  30. package/build/js/org.qcobjects.tools.canvas.js +28 -27
  31. package/build/js/org.qcobjects.tools.js +10 -3
  32. package/build/js/org.qcobjects.tools.layouts.js +46 -45
  33. package/build/js/org.qcobjects.views.js +11 -11
  34. package/build-esbuild.js +72 -0
  35. package/eslint.config.mjs +88 -0
  36. package/package.json +67 -63
  37. package/postbuild.js +10 -0
  38. package/public/browser/index.js +9902 -0
  39. package/public/browser/index.js.map +7 -0
  40. package/public/cjs/index.cjs +9894 -0
  41. package/public/cjs/index.cjs.map +7 -0
  42. package/public/esm/index.mjs +9894 -0
  43. package/public/esm/index.mjs.map +7 -0
  44. package/public/types/index.d.ts +698 -0
  45. package/spec/helpers/mock-sdk.helper.ts +2 -0
  46. package/spec/mocks/qcobjects-sdk.mock.ts +1 -0
  47. package/spec/support/jasmine.json +7 -4
  48. package/src/QCObjects-SDK.ts +72 -53
  49. package/src/js/org.qcobjects.base.components.ts +83 -0
  50. package/src/js/org.qcobjects.cloud.auth.session.data.ts +98 -99
  51. package/src/js/org.qcobjects.cloud.auth.session.usertoken.ts +72 -92
  52. package/src/js/org.qcobjects.components.grid.ts +31 -58
  53. package/src/js/org.qcobjects.components.list.ts +15 -31
  54. package/src/js/org.qcobjects.components.notifications.ts +12 -12
  55. package/src/js/org.qcobjects.components.slider.ts +182 -171
  56. package/src/js/org.qcobjects.components.splashscreen.ts +31 -39
  57. package/src/js/org.qcobjects.components.ts +151 -261
  58. package/src/js/org.qcobjects.controllers.form.ts +151 -148
  59. package/src/js/org.qcobjects.controllers.grid.ts +226 -222
  60. package/src/js/org.qcobjects.controllers.list.ts +207 -205
  61. package/src/js/org.qcobjects.controllers.slider.ts +120 -125
  62. package/src/js/org.qcobjects.controllers.swagger.ts +51 -51
  63. package/src/js/org.qcobjects.controllers.ts +7 -9
  64. package/src/js/org.qcobjects.effects.base.ts +97 -0
  65. package/src/js/org.qcobjects.effects.extended.ts +350 -0
  66. package/src/js/org.qcobjects.effects.ts +6 -394
  67. package/src/js/org.qcobjects.i18n_messages.ts +37 -51
  68. package/src/js/org.qcobjects.modal.controllers.ts +12 -14
  69. package/src/js/org.qcobjects.modal.effects.ts +22 -18
  70. package/src/js/org.qcobjects.models.ts +8 -11
  71. package/src/js/org.qcobjects.tools.canvas.ts +26 -28
  72. package/src/js/org.qcobjects.tools.layouts.ts +44 -47
  73. package/src/js/org.qcobjects.tools.ts +7 -1
  74. package/src/js/org.qcobjects.views.ts +9 -8
  75. package/src/types/global/index.d.ts +181 -0
  76. package/transpile.js +65 -0
  77. package/tsconfig.d.json +65 -3
  78. package/tsconfig.jasmine.json +64 -0
  79. package/tsconfig.json +71 -7
  80. package/.eslintignore +0 -4
  81. package/.eslintrc.cjs +0 -6
  82. package/.gitmodules +0 -4
  83. package/build/css/base-modal.css +0 -43
  84. package/build/css/basic-layout-embedded-nav.css +0 -14
  85. package/build/css/basic-layout.css +0 -76
  86. package/build/css/components/horizontal-list.css +0 -64
  87. package/build/css/components/list.css +0 -57
  88. package/build/css/components/splashscreen.css +0 -111
  89. package/build/css/modal.css +0 -46
  90. package/build/index.cjs +0 -4
  91. package/build/index.mjs +0 -2
  92. package/build/templates/components/modalyoulose.tpl.html +0 -3
  93. package/build/templates/components/modalyouwin.tpl.html +0 -4
  94. package/build/templates/components/splashscreen.tpl.html +0 -128
  95. package/build/templates/components/swagger-ui.tpl.html +0 -22
  96. package/docs/CNAME +0 -1
  97. package/public/QCObjects-SDK.js +0 -696
  98. package/public/QCObjects-SDK.js.map +0 -7
  99. package/public/css/base-modal.css +0 -2
  100. package/public/css/base-modal.css.map +0 -7
  101. package/public/css/basic-layout-embedded-nav.css +0 -2
  102. package/public/css/basic-layout-embedded-nav.css.map +0 -7
  103. package/public/css/basic-layout.css +0 -2
  104. package/public/css/basic-layout.css.map +0 -7
  105. package/public/css/components/horizontal-list.css +0 -2
  106. package/public/css/components/horizontal-list.css.map +0 -7
  107. package/public/css/components/list.css +0 -2
  108. package/public/css/components/list.css.map +0 -7
  109. package/public/css/components/splashscreen.css +0 -2
  110. package/public/css/components/splashscreen.css.map +0 -7
  111. package/public/css/modal.css +0 -2
  112. package/public/css/modal.css.map +0 -7
  113. package/public/index.cjs +0 -4
  114. package/public/index.js +0 -27
  115. package/public/index.mjs +0 -2
  116. package/public/templates/components/modalyoulose.tpl.html +0 -3
  117. package/public/templates/components/modalyouwin.tpl.html +0 -4
  118. package/public/templates/components/splashscreen.tpl.html +0 -128
  119. package/public/templates/components/swagger-ui.tpl.html +0 -22
  120. package/src/QCObjects-SDK.d.ts +0 -26
  121. package/src/index.cts +0 -2
  122. package/src/index.d.ts +0 -2
  123. package/src/index.mts +0 -2
  124. package/src/js/org.qcobjects.cloud.auth.session.data.d.ts +0 -1
  125. package/src/js/org.qcobjects.cloud.auth.session.usertoken.d.ts +0 -2
  126. package/src/js/org.qcobjects.components.d.ts +0 -10
  127. package/src/js/org.qcobjects.components.grid.d.ts +0 -3
  128. package/src/js/org.qcobjects.components.list.d.ts +0 -3
  129. package/src/js/org.qcobjects.components.notifications.d.ts +0 -1
  130. package/src/js/org.qcobjects.components.slider.d.ts +0 -1
  131. package/src/js/org.qcobjects.components.splashscreen.d.ts +0 -28
  132. package/src/js/org.qcobjects.controllers.d.ts +0 -1
  133. package/src/js/org.qcobjects.controllers.form.d.ts +0 -1
  134. package/src/js/org.qcobjects.controllers.grid.d.ts +0 -1
  135. package/src/js/org.qcobjects.controllers.list.d.ts +0 -1
  136. package/src/js/org.qcobjects.controllers.slider.d.ts +0 -1
  137. package/src/js/org.qcobjects.controllers.swagger.d.ts +0 -1
  138. package/src/js/org.qcobjects.effects.d.ts +0 -20
  139. package/src/js/org.qcobjects.i18n_messages.d.ts +0 -1
  140. package/src/js/org.qcobjects.modal.controllers.d.ts +0 -1
  141. package/src/js/org.qcobjects.modal.effects.d.ts +0 -1
  142. package/src/js/org.qcobjects.models.d.ts +0 -1
  143. package/src/js/org.qcobjects.tools.canvas.d.ts +0 -1
  144. package/src/js/org.qcobjects.tools.d.ts +0 -1
  145. package/src/js/org.qcobjects.tools.layouts.d.ts +0 -1
  146. package/src/js/org.qcobjects.views.d.ts +0 -1
  147. /package/spec/{testsSpec.js → testsSpec.ts} +0 -0
@@ -1,8 +1,5 @@
1
- import { Package, Controller, serviceLoader, New, ClassFactory, logger, _DOMCreateElement, Tag, QCObjectsElement, ControllerParams } from "qcobjects";
2
- import { FormField, ModalComponent } from "./org.qcobjects.components";
3
-
4
1
  /**
5
- * QCObjects SDK 2.4
2
+ * QCObjects SDK 2.5
6
3
  * ________________
7
4
  *
8
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -25,182 +22,188 @@ import { FormField, ModalComponent } from "./org.qcobjects.components";
25
22
  * Everyone is permitted to copy and distribute verbatim copies of this
26
23
  * license document, but changing it is not allowed.
27
24
  */
28
- (function() {
29
25
  "use strict";
30
- Package("org.qcobjects.controllers.form",[
31
-
32
- class FormValidations extends Controller {
33
- getDefault (){
34
- return function (fieldName:string, dataValue:any, element:HTMLElement){
35
- const _regex = {
36
- name:"^[a-zA-Z]+(([',. -][a-zA-Z ])?[a-zA-Z]*)*$",
37
- email:"^([A-Za-z0-9]+)@([A-Za-z0-9]+).([A-Za-z0-9]+)$"
38
- };
39
- const _pattern_ = (element.getAttribute("pattern") || _regex[fieldName as keyof typeof _regex]);
40
- const pattern = new RegExp(_pattern_);
41
- return pattern.test(dataValue);
42
- };
43
- }
44
-
45
- },
26
+ import { Package, Controller, serviceLoader, New, ClassFactory, logger, _DOMCreateElement, Tag } from "qcobjects";
27
+ import { FormField, ModalComponent } from "./org.qcobjects.components";
46
28
 
47
- class FormController extends Controller {
48
- validations:any[]=[];
49
- formValidatorModal:typeof ModalComponent;
50
- serviceClass="";
51
- formSettings={
52
- backRouting:"#",
53
- loadingRouting:"#loading",
54
- nextRouting:"#signupsuccessful"
29
+ export class FormValidations extends Controller {
30
+ getDefault() {
31
+ return function (fieldName: string, dataValue: any, element: HTMLElement) {
32
+ const _regex = {
33
+ name: "^[a-zA-Z]+(([',. -][a-zA-Z ])?[a-zA-Z]*)*$",
34
+ email: "^([A-Za-z0-9]+)@([A-Za-z0-9]+).([A-Za-z0-9]+)$"
35
+ };
36
+ const _pattern_ = (element.getAttribute("pattern") || _regex[fieldName as keyof typeof _regex]);
37
+ const pattern = new RegExp(_pattern_);
38
+ return pattern.test(dataValue);
55
39
  };
40
+ }
56
41
 
57
- hasValidation (element:HTMLElement){
58
- const fieldName = element.getAttribute("data-field") as string;
59
- let _hasValidation = false;
60
- if (typeof this.validations !== "undefined"
61
- && Object.hasOwnProperty.call(this.validations,fieldName)){
62
- _hasValidation = true;
63
- }
64
- return _hasValidation;
42
+ }
43
+
44
+ export class FormController extends Controller {
45
+ validations: any[] = [];
46
+ formValidatorModal!: ModalComponent;
47
+ serviceClass = "";
48
+ formSettings = {
49
+ backRouting: "#",
50
+ loadingRouting: "#loading",
51
+ nextRouting: "#signupsuccessful"
52
+ };
53
+ component: any;
54
+
55
+ hasValidation(element: HTMLElement) {
56
+ const fieldName = element.getAttribute("data-field") as string;
57
+ let _hasValidation = false;
58
+ if (typeof this.validations !== "undefined"
59
+ && Object.hasOwnProperty.call(this.validations, fieldName)) {
60
+ _hasValidation = true;
65
61
  }
62
+ return _hasValidation;
63
+ }
66
64
 
67
- isInvalid (element:HTMLElement){
68
- let _isInvalid = false;
69
- const fieldName = element.getAttribute("data-field");
70
- const dataValue = this.component.data[fieldName as string];
65
+ isInvalid(element: HTMLElement) {
66
+ let _isInvalid = false;
67
+ const fieldName = element.getAttribute("data-field");
68
+ const dataValue = this.component.data[fieldName as string];
71
69
 
72
- const _execValidation = (fieldName:string, dataValue:any, element:HTMLElement) => {
73
- return (typeof this.validations !== "undefined"
74
- && Object.hasOwnProperty.call(this.validations,fieldName as string)
75
- && this.validations[fieldName as keyof typeof this.validations].call(null,fieldName,dataValue, element));
76
- };
70
+ const _execValidation = (fieldName: string, dataValue: any, element: HTMLElement) => {
77
71
 
78
- if (typeof this.validations !== "undefined" && (
79
- !_execValidation(fieldName as string, dataValue, element)
80
- )){
81
- _isInvalid = true;
82
- }
83
- return _isInvalid;
84
- }
72
+ return (typeof this.validations !== "undefined"
73
+ && Object.hasOwnProperty.call(this.validations, fieldName)
74
+ && this.validations[fieldName as keyof typeof this.validations].call(null, fieldName, dataValue, element));
75
+ };
85
76
 
86
- isValid (element:HTMLElement){
87
- return !this.isInvalid(element);
77
+ if (typeof this.validations !== "undefined" && (
78
+ !_execValidation(fieldName as string, dataValue, element)
79
+ )) {
80
+ _isInvalid = true;
88
81
  }
82
+ return _isInvalid;
83
+ }
89
84
 
90
- save (){
91
- if (this.serviceClass !== ""){
92
- location.href=this.formSettings.loadingRouting;
93
- serviceLoader(New(ClassFactory(this.serviceClass),{
94
- data:this.component.data
95
- }), false).then(
96
- (successfulResponse)=>{
97
- // This will show the service response as a plain text
98
- console.log("DONE SERVICE COMPONENT");
99
- try{
100
- console.log(successfulResponse.service.JSONresponse);
101
- }catch (e){
102
- // no json
103
- }
104
- location.href=this.formSettings.nextRouting;
105
-
106
- },
107
- (failedResponse)=>{
108
- logger.debug(failedResponse);
109
- location.href=this.formSettings.backRouting;
110
- });
111
- } else {
112
- logger.debug("No service name declared on serviceClass property");
113
- }
85
+ isValid(element: HTMLElement) {
86
+ return !this.isInvalid(element);
87
+ }
114
88
 
89
+ save() {
90
+ if (this.serviceClass !== "") {
91
+ location.href = this.formSettings.loadingRouting;
92
+ serviceLoader(New(ClassFactory(this.serviceClass), {
93
+ data: this.component.data
94
+ }), false).then(
95
+ () => {
96
+ // This will show the service response as a plain text
97
+ console.log("DONE SERVICE COMPONENT");
98
+ location.href = this.formSettings.nextRouting;
99
+
100
+ },
101
+ (failedResponse: string) => {
102
+ logger.debug(failedResponse);
103
+ location.href = this.formSettings.backRouting;
104
+ });
105
+ } else {
106
+ logger.debug("No service name declared on serviceClass property");
115
107
  }
116
108
 
117
- formSaveTouchHandler (){
118
- logger.debug("Saving data...");
119
- const _componentRoot_ = (this.component.shadowed)?((this.component?.shadowRoot as ShadowRoot).host):(this.component.body);
120
- (this.component as typeof FormField).executeBindings();
121
- if (this.formValidatorModal!=null){
122
- const componentElementFields = (_componentRoot_ as QCObjectsElement).subelements("*[data-field]");
123
- const fieldsToValidate = componentElementFields.filter(
124
- f => this.hasValidation(f)
125
- );
126
-
127
- const _labelledby = function (parentElement:HTMLElement, element:HTMLElement){
128
- const _arialabelledby = (parentElement:HTMLElement, element:HTMLElement) => {
129
- return (element.getAttribute("aria-labelledby") !== null)?((element.getAttribute("aria-labelledby") || "").split(" ").map(
130
- e => (parentElement as QCObjectsElement).subelements(`#${e}`).map(_e => _e.innerHTML)
131
- ).join(" ")):(null);
132
- };
133
-
134
- return (_arialabelledby(parentElement, element)
135
- || element.getAttribute("aria-label")
136
- || element.getAttribute("placeholder")
137
- || element.getAttribute("name")
138
- || element.getAttribute("data-field") );
139
- };
109
+ }
140
110
 
141
- const _ariatitle = function (element:HTMLElement){
142
- return (element.getAttribute("title") || element.getAttribute("aria-title") || "");
111
+ formSaveTouchHandler() {
112
+ logger.debug("Saving data...");
113
+ const _componentRoot_ = (this.component.shadowed) ? ((this.component?.shadowRoot as ShadowRoot).host) : (this.component.body);
114
+ (this.component).executeBindings();
115
+ if (this.formValidatorModal != null) {
116
+ const componentElementFields = _componentRoot_.subelements("*[data-field]");
117
+ const fieldsToValidate = componentElementFields.filter(
118
+ (f: any) => this.hasValidation(f)
119
+ );
120
+
121
+ const _labelledby = function (parentElement: HTMLElement, element: HTMLElement) {
122
+ const _arialabelledby = (parentElement: HTMLElement, element: HTMLElement) => {
123
+ return (element.getAttribute("aria-labelledby") !== null) ? ((element.getAttribute("aria-labelledby") || "").split(" ").map(
124
+
125
+ e => (parentElement as any).subelements(`#${e}`).map((_e: any) => _e.innerHTML)
126
+ ).join(" ")) : (null);
143
127
  };
144
128
 
145
- const invalidFields = fieldsToValidate.filter(f=>this.isInvalid(f));
146
- if (invalidFields.length>0){
147
- const validationMessage = `
129
+ return (_arialabelledby(parentElement, element)
130
+ || element.getAttribute("aria-label")
131
+ || element.getAttribute("placeholder")
132
+ || element.getAttribute("name")
133
+ || element.getAttribute("data-field"));
134
+ };
135
+
136
+ const _ariatitle = function (element: HTMLElement) {
137
+ return (element.getAttribute("title") || element.getAttribute("aria-title") || "");
138
+ };
139
+
140
+ const invalidFields = fieldsToValidate.filter((f: any) => this.isInvalid(f));
141
+ if (invalidFields.length > 0) {
142
+ const validationMessage = `
148
143
  <details>
149
- <summary>Please verify the following incorrect fields:</summary>
150
- <ul>
151
- <div>
152
- ${invalidFields.map(element => "<li><div>"+_labelledby(_componentRoot_ as HTMLElement,element)+"</div><div>"+_ariatitle(element)+"</div></li>").join("")}
153
- </div>
154
- </ul>
144
+ <summary>Please verify the following incorrect fields:</summary>
145
+ <ul>
146
+ <div>
147
+ ${invalidFields.map((element: any) => "<li><div>" + _labelledby(_componentRoot_ as HTMLElement, element) + "</div><div>" + _ariatitle(element) + "</div></li>").join("")}
148
+ </div>
149
+ </ul>
155
150
  </details>
156
151
  `;
157
- this.formValidatorModal.body.subelements(".validationMessage")[0].innerHTML=validationMessage;
158
- this.formValidatorModal.modal();
159
- } else {
160
- this.save();
161
- }
152
+ this.formValidatorModal.body.subelements(".validationMessage")[0].innerHTML = validationMessage;
153
+ this.formValidatorModal.modal();
162
154
  } else {
163
- logger.debug("Unable to find the modal validator...");
164
- logger.debug("Saving data...");
165
155
  this.save();
166
156
  }
157
+ } else {
158
+ logger.debug("Unable to find the modal validator...");
159
+ logger.debug("Saving data...");
160
+ this.save();
167
161
  }
162
+ }
168
163
 
169
- constructor (o:ControllerParams){
170
- super(o);
171
- this.component = o.component;
172
- this.component = this.component.Cast(FormField);
173
- }
164
+ constructor(o: any) {
165
+ super(o);
166
+ this.component = o.component;
167
+ this.component = this.component.Cast(FormField);
168
+ }
174
169
 
175
- done (){
176
- logger.debugEnabled=true;
177
- try {
178
- (this.component as typeof FormField).createBindingEvents();
179
- const modalBody = _DOMCreateElement("div");
180
- modalBody.className="modal_body";
181
- this.formValidatorModal = New(ModalComponent,{
182
- body:modalBody,
183
- subcomponents:[],
184
- data:{
185
- content:"<div class=\"validationMessage\"></div>"
186
- }
187
- });
170
+ done() {
171
+ logger.debugEnabled = true;
172
+ try {
173
+ (this.component).createBindingEvents();
174
+ const modalBody = _DOMCreateElement("div");
175
+ modalBody.className = "modal_body";
176
+ this.formValidatorModal = New(ModalComponent, {
177
+ body: modalBody,
178
+ subcomponents: [],
179
+ data: {
180
+ content: "<div class=\"validationMessage\"></div>"
181
+ }
182
+ });
188
183
 
189
- Tag(".modal_body").map(e=>document.body.removeChild(e));
190
- document.body.append(this.formValidatorModal);
191
184
 
192
- } catch (e){
193
- logger.debug("Unable to create the modal");
194
- }
195
- this.onpress(".submit", () => {
196
- this.formSaveTouchHandler();
197
- });
185
+ Tag(".modal_body").map((e: any) => document.body.removeChild(e));
186
+ document.body.append(this.formValidatorModal.body);
198
187
 
188
+ } catch (e: any) {
189
+ logger.debug(`Unable to create the modal: ${e}`);
199
190
  }
191
+ this.onpress(".submit", () => {
192
+ this.formSaveTouchHandler();
193
+ });
200
194
 
201
-
202
195
  }
196
+ // eslint-disable-next-line no-unused-vars
197
+ onpress(arg0: string, arg1: () => void) {
198
+ throw new Error("Method not implemented.");
199
+ }
200
+
201
+
202
+ }
203
+
204
+ Package("org.qcobjects.controllers.form", [
205
+ FormController,
206
+ FormValidations
203
207
 
204
208
  ]);
205
209
 
206
- })();