isite 2022.8.6 → 2022.8.7

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.
@@ -1,343 +1,282 @@
1
1
  module.exports = function (site) {
2
- site.date = require(__dirname + "/site_files/js/hijri.js");
2
+ site.date = require(__dirname + '/site_files/js/hijri.js');
3
3
 
4
- site.post({ name: "/api/get_hijri_date", public: true }, (req, res) => {
4
+ site.post({ name: '/api/get_hijri_date', public: true }, (req, res) => {
5
5
  res.json({
6
6
  done: !0,
7
- hijri: site.date(req.data.date, "YYYY/MM/DD").format("iYYYY/iMM/iDD"),
7
+ hijri: site.date(req.data.date, 'YYYY/MM/DD').format('iYYYY/iMM/iDD'),
8
8
  });
9
9
  });
10
10
 
11
- site.post({ name: "/api/get_normal_date", public: true }, (req, res) => {
11
+ site.post({ name: '/api/get_normal_date', public: true }, (req, res) => {
12
12
  res.json({
13
13
  done: !0,
14
- date: site.date(req.data.hijri, "iYYYY/iMM/iDD").format("YYYY/MM/DD"),
14
+ date: site.date(req.data.hijri, 'iYYYY/iMM/iDD').format('YYYY/MM/DD'),
15
15
  });
16
16
  });
17
17
 
18
18
  site.get({
19
- name: "/x-images",
20
- path: __dirname + "/site_files/images",
19
+ name: '/x-images',
20
+ path: __dirname + '/site_files/images',
21
21
  public: true,
22
22
  });
23
23
 
24
24
  site.get({
25
- name: "/x-js",
26
- path: __dirname + "/site_files/js",
25
+ name: '/x-js',
26
+ path: __dirname + '/site_files/js',
27
27
  public: true,
28
- parser: "js",
28
+ parser: 'js',
29
29
  });
30
30
 
31
31
  site.get({
32
- name: ["/x-js/all.js"],
32
+ name: ['/x-js/all.js'],
33
33
  public: true,
34
- parser: "js",
34
+ parser: 'js',
35
35
  path: [
36
- __dirname + "/site_files/js/first.js",
37
- __dirname + "/site_files/js/jquery.js",
38
- __dirname + "/site_files/js/mustache.js",
39
- __dirname + "/site_files/js/base64.js",
40
- __dirname + "/site_files/js/site.js",
41
- __dirname + "/site_files/js/dom-to-image.js",
42
- __dirname + "/site_files/js/barcode.js",
43
- __dirname + "/site_files/js/qrcode.js",
44
- __dirname + "/site_files/js/angular.js",
45
- __dirname + "/site_files/js/app.js",
46
- __dirname + "/site_files/js/directive-core.js",
47
- __dirname + "/site_files/js/directive.js",
48
- __dirname + "/site_files/js/last.js",
36
+ __dirname + '/site_files/js/first.js',
37
+ __dirname + '/site_files/js/jquery.js',
38
+ __dirname + '/site_files/js/mustache.js',
39
+ __dirname + '/site_files/js/base64.js',
40
+ __dirname + '/site_files/js/site.js',
41
+ __dirname + '/site_files/js/dom-to-image.js',
42
+ __dirname + '/site_files/js/barcode.js',
43
+ __dirname + '/site_files/js/qrcode.js',
44
+ __dirname + '/site_files/js/angular.js',
45
+ __dirname + '/site_files/js/app.js',
46
+ __dirname + '/site_files/js/directive-core.js',
47
+ __dirname + '/site_files/js/directive.js',
48
+ __dirname + '/site_files/js/last.js',
49
49
  ],
50
50
  });
51
51
  site.get({
52
- name: ["/x-js/all.min.js"],
52
+ name: ['/x-js/all.min.js'],
53
53
  public: true,
54
- parser: "js",
54
+ parser: 'js',
55
55
  path: [
56
- __dirname + "/site_files/js/first.js",
57
- __dirname + "/site_files/js/jquery.js",
58
- __dirname + "/site_files/js/mustache.js",
59
- __dirname + "/site_files/js/base64.js",
60
- __dirname + "/site_files/js/site.min.js",
61
- __dirname + "/site_files/js/dom-to-image.min.js",
62
- __dirname + "/site_files/js/barcode.js",
63
- __dirname + "/site_files/js/qrcode.min.js",
64
- __dirname + "/site_files/js/angular.min.js",
65
- __dirname + "/site_files/js/app.js",
66
- __dirname + "/site_files/js/directive-core.js",
67
- __dirname + "/site_files/js/directive.min.js",
68
- __dirname + "/site_files/js/last.js",
56
+ __dirname + '/site_files/js/first.js',
57
+ __dirname + '/site_files/js/jquery.js',
58
+ __dirname + '/site_files/js/mustache.js',
59
+ __dirname + '/site_files/js/base64.js',
60
+ __dirname + '/site_files/js/site.min.js',
61
+ __dirname + '/site_files/js/dom-to-image.min.js',
62
+ __dirname + '/site_files/js/barcode.js',
63
+ __dirname + '/site_files/js/qrcode.min.js',
64
+ __dirname + '/site_files/js/angular.min.js',
65
+ __dirname + '/site_files/js/app.js',
66
+ __dirname + '/site_files/js/directive-core.js',
67
+ __dirname + '/site_files/js/directive.min.js',
68
+ __dirname + '/site_files/js/last.js',
69
69
  ],
70
70
  });
71
71
  site.get({
72
- name: ["/x-js/bootstrap-5-support.js"],
72
+ name: ['/x-js/bootstrap-5-support.js'],
73
73
  public: true,
74
- parser: "js",
74
+ parser: 'js',
75
75
  path: [
76
- __dirname + "/site_files/js/first.js",
77
- __dirname + "/site_files/js/jquery.js",
78
- __dirname + "/site_files/js/mustache.js",
79
- __dirname + "/site_files/js/base64.js",
80
- __dirname + "/site_files/js/site.js",
81
- __dirname + "/site_files/js/dom-to-image.js",
82
- __dirname + "/site_files/js/barcode.js",
83
- __dirname + "/site_files/js/qrcode.js",
84
- __dirname + "/site_files/js/angular.js",
85
- __dirname + "/site_files/js/app.js",
86
- __dirname + "/site_files/js/directive-core.js",
87
- __dirname + "/site_files/js/bootstrap-5-directive.js",
88
- __dirname + "/site_files/js/last.js",
89
- __dirname + "/site_files/js/bootstrap5.js",
90
- __dirname + "/site_files/js/bootstrap-5-addon.js",
76
+ __dirname + '/site_files/js/first.js',
77
+ __dirname + '/site_files/js/jquery.js',
78
+ __dirname + '/site_files/js/mustache.js',
79
+ __dirname + '/site_files/js/base64.js',
80
+ __dirname + '/site_files/js/site.js',
81
+ __dirname + '/site_files/js/dom-to-image.js',
82
+ __dirname + '/site_files/js/barcode.js',
83
+ __dirname + '/site_files/js/qrcode.js',
84
+ __dirname + '/site_files/js/angular.js',
85
+ __dirname + '/site_files/js/app.js',
86
+ __dirname + '/site_files/js/directive-core.js',
87
+ __dirname + '/site_files/js/bootstrap-5-directive.js',
88
+ __dirname + '/site_files/js/last.js',
89
+ __dirname + '/site_files/js/bootstrap5.js',
90
+ __dirname + '/site_files/js/bootstrap-5-addon.js',
91
91
  ],
92
92
  });
93
93
  site.get({
94
- name: "/x-css",
95
- path: __dirname + "/site_files/css",
94
+ name: '/x-css',
95
+ path: __dirname + '/site_files/css',
96
96
  public: true,
97
97
  });
98
98
  site.get({
99
- name: "/x-semantic-themes",
100
- path: __dirname + "/site_files/semantic-themes",
99
+ name: '/x-semantic-themes',
100
+ path: __dirname + '/site_files/semantic-themes',
101
101
  public: true,
102
102
  });
103
103
 
104
104
  site.get({
105
- name: "/x-fonts",
106
- path: __dirname + "/site_files/fonts",
105
+ name: '/x-fonts',
106
+ path: __dirname + '/site_files/fonts',
107
107
  public: true,
108
108
  });
109
109
  site.get({
110
- name: "/x-css/x-fonts",
111
- path: __dirname + "/site_files/fonts",
110
+ name: '/x-css/x-fonts',
111
+ path: __dirname + '/site_files/fonts',
112
112
  public: true,
113
113
  });
114
114
  site.get({
115
- name: "/webfonts",
116
- path: __dirname + "/site_files/webfonts",
115
+ name: '/webfonts',
116
+ path: __dirname + '/site_files/webfonts',
117
117
  public: true,
118
118
  });
119
119
  site.get({
120
- name: ["/x-css/all.css", "/x-css/site.css"],
121
- parser: "css2",
120
+ name: ['/x-css/all.css', '/x-css/site.css'],
121
+ parser: 'css2',
122
122
  public: true,
123
123
  compress: !0,
124
124
  path: [
125
- __dirname + "/site_files/css/normalize.css",
126
- __dirname + "/site_files/css/theme.css",
127
- __dirname + "/site_files/css/layout.css",
128
- __dirname + "/site_files/css/scrollbar.css",
129
- __dirname + "/site_files/css/progress.css",
130
- __dirname + "/site_files/css/treeview.css",
131
- __dirname + "/site_files/css/main-menu.css",
132
- __dirname + "/site_files/css/images.css",
133
- __dirname + "/site_files/css/navbar.css",
134
- __dirname + "/site_files/css/form.css",
135
- __dirname + "/site_files/css/selector.css",
136
- __dirname + "/site_files/css/dropdown.css",
137
- __dirname + "/site_files/css/btn.css",
138
- __dirname + "/site_files/css/checkbox.css",
139
- __dirname + "/site_files/css/radio.css",
140
- __dirname + "/site_files/css/modal.css",
141
- __dirname + "/site_files/css/fixed_menu.css",
142
- __dirname + "/site_files/css/color.css",
143
- __dirname + "/site_files/css/fonts.css",
144
- __dirname + "/site_files/css/font-droid.css",
145
- __dirname + "/site_files/css/effect.css",
146
- __dirname + "/site_files/css/table.css",
147
- __dirname + "/site_files/css/tabs.css",
148
- __dirname + "/site_files/css/help.css",
149
- __dirname + "/site_files/css/print.css",
150
- __dirname + "/site_files/css/ui.css",
151
- __dirname + "/site_files/css/tableExport.css",
152
- __dirname + "/site_files/css/theme_paper.css",
153
- __dirname + "/site_files/css/font-awesome.css",
125
+ __dirname + '/site_files/css/normalize.css',
126
+ __dirname + '/site_files/css/theme.css',
127
+ __dirname + '/site_files/css/layout.css',
128
+ __dirname + '/site_files/css/scrollbar.css',
129
+ __dirname + '/site_files/css/progress.css',
130
+ __dirname + '/site_files/css/treeview.css',
131
+ __dirname + '/site_files/css/main-menu.css',
132
+ __dirname + '/site_files/css/images.css',
133
+ __dirname + '/site_files/css/navbar.css',
134
+ __dirname + '/site_files/css/form.css',
135
+ __dirname + '/site_files/css/selector.css',
136
+ __dirname + '/site_files/css/dropdown.css',
137
+ __dirname + '/site_files/css/btn.css',
138
+ __dirname + '/site_files/css/checkbox.css',
139
+ __dirname + '/site_files/css/radio.css',
140
+ __dirname + '/site_files/css/modal.css',
141
+ __dirname + '/site_files/css/fixed_menu.css',
142
+ __dirname + '/site_files/css/color.css',
143
+ __dirname + '/site_files/css/fonts.css',
144
+ __dirname + '/site_files/css/font-droid.css',
145
+ __dirname + '/site_files/css/effect.css',
146
+ __dirname + '/site_files/css/table.css',
147
+ __dirname + '/site_files/css/tabs.css',
148
+ __dirname + '/site_files/css/help.css',
149
+ __dirname + '/site_files/css/print.css',
150
+ __dirname + '/site_files/css/ui.css',
151
+ __dirname + '/site_files/css/tableExport.css',
152
+ __dirname + '/site_files/css/theme_paper.css',
153
+ __dirname + '/site_files/css/font-awesome.css',
154
154
  ],
155
155
  });
156
156
 
157
157
  site.get({
158
- name: ["/x-css/bootstrap-5-support.css", "/x-css/bootstrap-support.css"],
159
- parser: "css2",
158
+ name: ['/x-css/bootstrap-5-support.css', '/x-css/bootstrap-support.css'],
159
+ parser: 'css2',
160
160
  public: true,
161
161
  compress: !0,
162
162
  path: [
163
- __dirname + "/site_files/css/normalize.css",
164
- __dirname + "/site_files/css/theme.css",
165
- __dirname + "/site_files/css/layout.css",
166
- __dirname + "/site_files/css/modal.css",
167
- __dirname + "/site_files/css/color.css",
168
- __dirname + "/site_files/css/images.css",
169
- __dirname + "/site_files/css/dropdown.css",
170
- __dirname + "/site_files/css/fonts.css",
171
- __dirname + "/site_files/css/font-droid.css",
172
- __dirname + "/site_files/css/effect.css",
173
- __dirname + "/site_files/css/scrollbar.css",
174
- __dirname + "/site_files/css/table.css",
175
- __dirname + "/site_files/css/tabs.css",
176
- __dirname + "/site_files/css/help.css",
177
- __dirname + "/site_files/css/print.css",
178
- __dirname + "/site_files/css/tableExport.css",
179
- __dirname + "/site_files/css/theme_paper.css",
180
- __dirname + "/site_files/css/bootstrap5.css",
181
- __dirname + "/site_files/css/bootstrap5-addon.css",
163
+ __dirname + '/site_files/css/normalize.css',
164
+ __dirname + '/site_files/css/theme.css',
165
+ __dirname + '/site_files/css/layout.css',
166
+ __dirname + '/site_files/css/modal.css',
167
+ __dirname + '/site_files/css/color.css',
168
+ __dirname + '/site_files/css/images.css',
169
+ __dirname + '/site_files/css/dropdown.css',
170
+ __dirname + '/site_files/css/fonts.css',
171
+ __dirname + '/site_files/css/font-droid.css',
172
+ __dirname + '/site_files/css/effect.css',
173
+ __dirname + '/site_files/css/scrollbar.css',
174
+ __dirname + '/site_files/css/table.css',
175
+ __dirname + '/site_files/css/tabs.css',
176
+ __dirname + '/site_files/css/help.css',
177
+ __dirname + '/site_files/css/print.css',
178
+ __dirname + '/site_files/css/tableExport.css',
179
+ __dirname + '/site_files/css/theme_paper.css',
180
+ __dirname + '/site_files/css/bootstrap5.css',
181
+ __dirname + '/site_files/css/bootstrap5-addon.css',
182
182
  ],
183
183
  });
184
184
 
185
- site.createDir(site.dir + "/../../uploads");
186
185
 
187
- site.post({ name: "/x-api/upload/image", public: true }, (req, res) => {
188
- site.createDir(
189
- site.options.upload_dir + "/" + req.headers["folder"],
190
- () => {
191
- site.createDir(
192
- site.options.upload_dir + "/" + req.headers["folder"] + "/images",
193
- () => {
194
- let response = {
195
- image: {},
196
- done: !0,
197
- };
198
- let file = req.files.fileToUpload;
199
- if (file) {
200
- let newName =
201
- "image_" +
202
- (new Date().getTime().toString() + Math.random()).replaceAll(
203
- ".",
204
- "_"
205
- ) +
206
- site.path.extname(file.originalFilename);
207
- let newpath = site.path.resolve(
208
- site.options.upload_dir +
209
- "/" +
210
- req.headers["folder"] +
211
- "/images/" +
212
- newName
213
- );
214
- site.mv(file.filepath, newpath, function (err) {
215
- if (err) {
216
- response.error = err;
217
- response.done = !1;
218
- } else {
219
- response.image.name = file.originalFilename;
220
- response.image.path = newpath;
221
- response.image.url =
222
- "/x-api/image/" + req.headers["folder"] + "/" + newName;
223
- response.image.size = file.size;
224
- }
225
- res.json(response);
226
- });
227
- } else {
228
- response.error = "no file";
186
+ site.post({ name: '/x-api/upload/image', public: true }, (req, res) => {
187
+ site.createDir(site.options.upload_dir + '/' + req.headers['folder'], () => {
188
+ site.createDir(site.options.upload_dir + '/' + req.headers['folder'] + '/images', () => {
189
+ let response = {
190
+ image: {},
191
+ done: !0,
192
+ };
193
+ let file = req.files.fileToUpload;
194
+ if (file) {
195
+ let newName = 'image_' + (new Date().getTime().toString() + Math.random().toString()).replaceAll('.', '_') + site.path.extname(file.originalFilename);
196
+ let newpath = site.path.resolve(site.options.upload_dir + '/' + req.headers['folder'] + '/images/' + newName);
197
+ site.mv(file.filepath, newpath, function (err) {
198
+ if (err) {
199
+ response.error = err;
229
200
  response.done = !1;
230
- res.json(response);
201
+ } else {
202
+ response.image.name = file.originalFilename;
203
+ response.image.path = newpath;
204
+ response.image.url = '/x-api/image/' + req.headers['folder'] + '/' + newName;
205
+ response.image.size = file.size;
231
206
  }
232
- }
233
- );
234
- }
235
- );
207
+ res.json(response);
208
+ });
209
+ } else {
210
+ response.error = 'no file';
211
+ response.done = !1;
212
+ res.json(response);
213
+ }
214
+ });
215
+ });
236
216
  });
237
217
 
238
- site.get(
239
- { name: "/x-api/image/:category/:name", public: true },
240
- (req, res) => {
241
- res.set("Cache-Control", "public, max-age=2592000");
242
- res.download(
243
- site.options.upload_dir +
244
- "/" +
245
- req.params.category +
246
- "/images/" +
247
- req.params.name
248
- );
249
- }
250
- );
218
+ site.get({ name: '/x-api/image/:category/:name', public: true }, (req, res) => {
219
+ res.set('Cache-Control', 'public, max-age=2592000');
220
+ res.download(site.options.upload_dir + '/' + req.params.category + '/images/' + req.params.name);
221
+ });
251
222
 
252
- site.post({ name: "/x-api/upload/file", public: true }, (req, res) => {
253
- site.createDir(
254
- site.options.upload_dir + "/" + req.headers["folder"],
255
- () => {
256
- site.createDir(
257
- site.options.upload_dir + "/" + req.headers["folder"] + "/files",
258
- () => {
259
- let response = {
260
- file: {},
261
- done: !0,
262
- };
263
- let file = req.files.fileToUpload;
264
- if (!file) {
265
- response.done = !1;
266
- response.error = "no file uploaded";
267
- res.json(response);
268
- return;
269
- }
270
- let newName =
271
- "file_" +
272
- (new Date().getTime().toString() + Math.random()).replaceAll(
273
- ".",
274
- "_"
275
- ) +
276
- site.path.extname(file.originalFilename);
277
- let newpath = site.path.resolve(
278
- site.options.upload_dir +
279
- "/" +
280
- req.headers["folder"] +
281
- "/files/" +
282
- newName
283
- );
284
- site.mv(file.filepath, newpath, function (err) {
285
- if (err) {
286
- response.error = err;
287
- response.done = !1;
288
- }
289
- response.file.name = file.originalFilename;
290
- response.file.path = newpath;
291
- response.file.url =
292
- "/x-api/file/" + req.headers["folder"] + "/" + newName;
293
- response.file.size = file.size;
294
- res.json(response);
295
- });
223
+ site.post({ name: '/x-api/upload/file', public: true }, (req, res) => {
224
+ site.createDir(site.options.upload_dir + '/' + req.headers['folder'], () => {
225
+ site.createDir(site.options.upload_dir + '/' + req.headers['folder'] + '/files', () => {
226
+ let response = {
227
+ file: {},
228
+ done: !0,
229
+ };
230
+ let file = req.files.fileToUpload;
231
+ if (!file) {
232
+ response.done = !1;
233
+ response.error = 'no file uploaded';
234
+ res.json(response);
235
+ return;
236
+ }
237
+ let newName = 'file_' + (new Date().getTime().toString() + Math.random().toString()).replaceAll('.', '_') + site.path.extname(file.originalFilename);
238
+ let newpath = site.path.resolve(site.options.upload_dir + '/' + req.headers['folder'] + '/files/' + newName);
239
+ site.mv(file.filepath, newpath, function (err) {
240
+ if (err) {
241
+ response.error = err;
242
+ response.done = !1;
296
243
  }
297
- );
298
- }
299
- );
244
+ response.file.name = file.originalFilename;
245
+ response.file.path = newpath;
246
+ response.file.url = '/x-api/file/' + req.headers['folder'] + '/' + newName;
247
+ response.file.size = file.size;
248
+ res.json(response);
249
+ });
250
+ });
251
+ });
300
252
  });
301
253
 
302
- site.get(
303
- { name: "/x-api/file/:category/:name", public: true },
304
- (req, res) => {
305
- res.download(
306
- site.options.upload_dir +
307
- "/" +
308
- req.params.category +
309
- "/files/" +
310
- req.params.name
311
- );
312
- }
313
- );
254
+ site.get({ name: '/x-api/file/:category/:name', public: true }, (req, res) => {
255
+ res.download(site.options.upload_dir + '/' + req.params.category + '/files/' + req.params.name);
256
+ });
314
257
 
315
258
  site.getTLV = function (name, value) {
316
- return Buffer.concat([
317
- Buffer.from([name], "utf8"),
318
- Buffer.from([value.length], "utf8"),
319
- Buffer.from(value, "utf8"),
320
- ]);
259
+ return Buffer.concat([Buffer.from([name], 'utf8'), Buffer.from([value.length], 'utf8'), Buffer.from(value, 'utf8')]);
321
260
  };
322
- site.onPOST("/x-api/zakat", (req, res) => {
261
+ site.onPOST('/x-api/zakat', (req, res) => {
323
262
  let obj = req.data || {};
324
263
  let value = [];
325
264
  if (obj.name) {
326
- value.push(site.getTLV("1", obj.name));
265
+ value.push(site.getTLV('1', obj.name));
327
266
  }
328
267
  if (obj.vat_number) {
329
- value.push(site.getTLV("2", obj.vat_number));
268
+ value.push(site.getTLV('2', obj.vat_number));
330
269
  }
331
270
  if (obj.time) {
332
- value.push(site.getTLV("3", obj.time));
271
+ value.push(site.getTLV('3', obj.time));
333
272
  }
334
273
  if (obj.total) {
335
- value.push(site.getTLV("4", obj.total));
274
+ value.push(site.getTLV('4', obj.total));
336
275
  }
337
276
  if (obj.vat_total) {
338
- value.push(site.getTLV("5", obj.vat_total));
277
+ value.push(site.getTLV('5', obj.vat_total));
339
278
  }
340
- value = Buffer.concat([...value]).toString("base64");
279
+ value = Buffer.concat([...value]).toString('base64');
341
280
  res.json({
342
281
  done: true,
343
282
  value: value,
@@ -115,14 +115,18 @@ i-date p,
115
115
  i-datetime p {
116
116
  margin-top: 10px !important;
117
117
  }
118
+ i-datetime.is-invalid .row {
119
+ border: 1px solid #dc3545 !important;
120
+ border-radius: 10px !important;
121
+ }
118
122
  .modal-content {
119
123
  width: 75vw;
120
124
  height: 100vh;
121
125
  }
122
126
  .modal-body {
123
- padding: 10px;
127
+ padding: 1rem;
124
128
  display: block;
125
- overflow: auto;
129
+ overflow: visible !important;
126
130
  }
127
131
  .modal-footer {
128
132
  display: block;
@@ -79,3 +79,6 @@
79
79
  .ar .dropdown-item small{
80
80
  text-align: right;
81
81
  }
82
+ .dropdown-content::-webkit-scrollbar {
83
+ width: 5px;
84
+ }
@@ -87,7 +87,8 @@ h5 {
87
87
  .col11,
88
88
  .col12 {
89
89
  vertical-align: top;
90
- padding: 0px;
90
+ padding: 0;
91
+ margin: 0;
91
92
  float: var(--float);
92
93
  display: inline;
93
94
  }
@@ -104,106 +105,106 @@ h5 {
104
105
  .col-11,
105
106
  .col-12 {
106
107
  vertical-align: top;
107
- padding: 0px;
108
- margin: 0px;
108
+ padding: 0;
109
+ margin: 0;
109
110
  float: var(--float);
110
111
  display: inline;
111
112
  }
112
113
 
113
114
  .col1 {
114
- width: calc(1 / 13 * 100%) !important;
115
+ width: calc(1 / 12 * 100%) !important;
115
116
  }
116
117
 
117
118
  .col2 {
118
- width: calc(2 / 13 * 100%) !important;
119
+ width: calc(2 / 12 * 100%) !important;
119
120
  }
120
121
 
121
122
  .col3 {
122
- width: calc(3 / 13 * 100%) !important;
123
+ width: calc(3 / 12 * 100%) !important;
123
124
  }
124
125
 
125
126
  .col4 {
126
- width: calc(4 / 13 * 100%) !important;
127
+ width: calc(4 / 12 * 100%) !important;
127
128
  }
128
129
 
129
130
  .col5 {
130
- width: calc(5 / 13 * 100%) !important;
131
+ width: calc(5 / 12 * 100%) !important;
131
132
  }
132
133
 
133
134
  .col6 {
134
- width: calc(6 / 13 * 100%) !important;
135
+ width: calc(6 / 12 * 100%) !important;
135
136
  }
136
137
 
137
138
  .col7 {
138
- width: calc(7 / 13 * 100%) !important;
139
+ width: calc(7 / 12 * 100%) !important;
139
140
  }
140
141
 
141
142
  .col8 {
142
- width: calc(8 / 13 * 100%) !important;
143
+ width: calc(8 / 12 * 100%) !important;
143
144
  }
144
145
 
145
146
  .col9 {
146
- width: calc(9 / 13 * 100%) !important;
147
+ width: calc(9 / 12 * 100%) !important;
147
148
  }
148
149
 
149
150
  .col10 {
150
- width: calc(10 / 13 * 100%) !important;
151
+ width: calc(10 / 12 * 100%) !important;
151
152
  }
152
153
 
153
154
  .col11 {
154
- width: calc(11 / 13 * 100%) !important;
155
+ width: calc(11 / 12 * 100%) !important;
155
156
  }
156
157
 
157
158
  .col12 {
158
- width: calc(12 / 13 * 100%) !important;
159
+ width: calc(12 / 12 * 100%) !important;
159
160
  }
160
161
 
161
162
  .col-1 {
162
- width: calc(0.9 / 13 * 100%) !important;
163
+ width: calc(0.9 / 12 * 100%) !important;
163
164
  }
164
165
 
165
166
  .col-2 {
166
- width: calc(1.9 / 13 * 100%) !important;
167
+ width: calc(1.9 / 12 * 100%) !important;
167
168
  }
168
169
 
169
170
  .col-3 {
170
- width: calc(2.9 / 13 * 100%) !important;
171
+ width: calc(2.9 / 12 * 100%) !important;
171
172
  }
172
173
 
173
174
  .col-4 {
174
- width: calc(3.9 / 13 * 100%) !important;
175
+ width: calc(3.9 / 12 * 100%) !important;
175
176
  }
176
177
 
177
178
  .col-5 {
178
- width: calc(4.9 / 13 * 100%) !important;
179
+ width: calc(4.9 / 12 * 100%) !important;
179
180
  }
180
181
 
181
182
  .col-6 {
182
- width: calc(5.9 / 13 * 100%) !important;
183
+ width: calc(5.9 / 12 * 100%) !important;
183
184
  }
184
185
 
185
186
  .col-7 {
186
- width: calc(6.9 / 13 * 100%) !important;
187
+ width: calc(6.9 / 12 * 100%) !important;
187
188
  }
188
189
 
189
190
  .col-8 {
190
- width: calc(7.9 / 13 * 100%) !important;
191
+ width: calc(7.9 / 12 * 100%) !important;
191
192
  }
192
193
 
193
194
  .col-9 {
194
- width: calc(8.9 / 13 * 100%) !important;
195
+ width: calc(8.9 / 12 * 100%) !important;
195
196
  }
196
197
 
197
198
  .col-10 {
198
- width: calc(9.9 / 13 * 100%) !important;
199
+ width: calc(9.9 / 12 * 100%) !important;
199
200
  }
200
201
 
201
202
  .col-11 {
202
- width: calc(10.9 / 13 * 100%) !important;
203
+ width: calc(10.9 / 12 * 100%) !important;
203
204
  }
204
205
 
205
206
  .col-12 {
206
- width: calc(11.9 / 13 * 100%) !important;
207
+ width: calc(11.9 / 12 * 100%) !important;
207
208
  }
208
209
 
209
210
  /* Small devices (landscape phones, 576px and down) */
@@ -218,7 +219,7 @@ h5 {
218
219
  .col8,
219
220
  .col9 {
220
221
  vertical-align: top;
221
- width: calc(12 / 13 * 100%) !important;
222
+ width: calc(12 / 12 * 100%) !important;
222
223
  }
223
224
 
224
225
  .desktop {
@@ -234,7 +235,7 @@ h5 {
234
235
  .col4,
235
236
  .col5 {
236
237
  vertical-align: top;
237
- width: calc(12 / 13 * 100%) !important;
238
+ width: calc(12 / 12 * 100%) !important;
238
239
  }
239
240
  }
240
241
 
@@ -246,7 +247,7 @@ h5 {
246
247
  .col4,
247
248
  .col5 {
248
249
  vertical-align: top;
249
- width: calc(12 / 13 * 100%) !important;
250
+ width: calc(12 / 12 * 100%) !important;
250
251
  }
251
252
  .mobile {
252
253
  display: none !important;
@@ -259,7 +260,7 @@ h5 {
259
260
  .col2,
260
261
  .col3 {
261
262
  vertical-align: top;
262
- width: calc(12 / 13 * 100%) !important;
263
+ width: calc(12 / 12 * 100%) !important;
263
264
  }
264
265
  .mobile {
265
266
  display: none !important;
@@ -6,9 +6,9 @@
6
6
  padding-bottom: 20px;
7
7
  left: 0;
8
8
  top: 0;
9
- width: 100%;
10
- height: 100%;
11
- background-color: var(--modal-background);
9
+ width: 100% !important;
10
+ height: 100% !important;
11
+ background-color: var(--modal-background) !important;
12
12
  overflow: auto;
13
13
  }
14
14
 
@@ -41,9 +41,8 @@
41
41
 
42
42
  .modal-body {
43
43
  display: contents;
44
- padding: 2px 16px;
45
44
  color: var(--modal-color);
46
- overflow: overlay;
45
+ overflow: visible;
47
46
  }
48
47
 
49
48
  .modal-footer {
@@ -1,5 +1,5 @@
1
1
  ::-webkit-scrollbar {
2
- width: 5px;
2
+ width: 10px;
3
3
  }
4
4
 
5
5
  ::-webkit-scrollbar-track {
@@ -10,7 +10,3 @@
10
10
  background-color: var(--scrollbar-background-color);
11
11
  outline: 1px solid var(--scrollbar-color);
12
12
  }
13
-
14
- html::-webkit-scrollbar {
15
- width: 10px;
16
- }
@@ -8,24 +8,25 @@
8
8
  </div>
9
9
  <div class="row dashed padding margin" ng-show="editOnly">
10
10
  <div class="col2">
11
- <i-list label="Day" v="{{v}}" items="days" ng-model="model.selectedDay"></i-list>
11
+ <i-list label="Day" items="days" ng-model="model.selectedDay"></i-list>
12
12
  </div>
13
13
  <div class="col3">
14
- <i-list label="Month" v="{{v}}" items="monthes" ng-model="model.selectedMonth"></i-list>
14
+ <i-list label="Month" items="monthes" ng-model="model.selectedMonth"></i-list>
15
15
  </div>
16
16
  <div class="col3">
17
- <i-list label="Year" v="{{v}}" items="years" ng-search="searchYear" ng-model="model.selectedYear"></i-list>
17
+ <i-list label="Year" items="years" ng-search="searchYear" ng-model="model.selectedYear"></i-list>
18
18
  </div>
19
19
 
20
20
  <div class="col2">
21
- <i-list label="Hour" v="{{v}}" items="hours" ng-model="model.selectedHour"></i-list>
21
+ <i-list label="Hour" items="hours" ng-model="model.selectedHour"></i-list>
22
22
  </div>
23
23
  <div class="col2">
24
- <i-list label="Minute" v="{{v}}" items="minutes" ng-model="model.selectedMinute"></i-list>
24
+ <i-list label="Minute" items="minutes" ng-model="model.selectedMinute"></i-list>
25
25
  </div>
26
26
  <div class="row">
27
27
  <br />
28
28
  <i-button type="save default" ng-click="updateDate()"></i-button>
29
29
  </div>
30
30
  </div>
31
+ <div class="invalid-feedback"></div>
31
32
  </div>
@@ -16,3 +16,4 @@ site.vTab = function (name) {
16
16
  el.classList.remove('none');
17
17
  });
18
18
  };
19
+
@@ -650,6 +650,7 @@ app.directive('iDatetime', function () {
650
650
  $scope.model.selectedYear = $scope.years.find((y) => y.id == ngModel.getFullYear());
651
651
  $scope.model.selectedHour = $scope.hours.find((y) => y.id == ngModel.getHours());
652
652
  $scope.model.selectedMinute = $scope.minutes.find((y) => y.id == ngModel.getMinutes());
653
+ $(element).attr('value', ngModel.getTime());
653
654
  } else {
654
655
  $scope.model = $scope.model || {};
655
656
  $scope.model.selectedDay = null;
@@ -657,6 +658,7 @@ app.directive('iDatetime', function () {
657
658
  $scope.model.selectedYear = null;
658
659
  $scope.model.selectedHour = null;
659
660
  $scope.model.selectedMinute = null;
661
+ $(element).attr('value', '');
660
662
  }
661
663
  });
662
664
 
@@ -668,6 +670,7 @@ app.directive('iDatetime', function () {
668
670
  if ($scope.model.selectedDay && $scope.model.selectedMonth && $scope.model.selectedYear && $scope.model.selectedHour && $scope.model.selectedMinute) {
669
671
  $scope.ngModel = new Date($scope.model.selectedYear.id, $scope.model.selectedMonth.id, $scope.model.selectedDay.id, $scope.model.selectedHour.id, $scope.model.selectedMinute.id, 0);
670
672
  $scope.editOnly = false;
673
+ $(element).attr('value', $scope.ngModel.getTime());
671
674
  if ($scope.ngChange) {
672
675
  $scope.ngChange();
673
676
  }
@@ -655,6 +655,13 @@
655
655
  en: 'Data Is Required',
656
656
  ar: 'هذا البيان مطلوب',
657
657
  });
658
+ } if (el.nodeName === 'I-DATETIME' && !el.getAttribute('value')){
659
+ el.classList.add('is-invalid');
660
+ res.ok = !1;
661
+ res.messages.push({
662
+ en: 'Data Is Required',
663
+ ar: 'هذا البيان مطلوب',
664
+ });
658
665
  } else {
659
666
  el.classList.add('is-valid');
660
667
  }
@@ -1 +1 @@
1
- (function(t,e,n,r){function o(t){return t?("string"!=typeof t&&(t=t.toString()),t.replace(/[\/\\^$*+?.()\[\]{}]/g,"\\$&")):""}function a(t,e){let n="";return g.forEach(r=>{r.n==t&&(n=r.i0[e])}),n}function l(t,e){let n="";return 11==t?g.forEach(r=>{r.n==t&&(n=r.i0[e])}):12==t?g.forEach(r=>{r.n==t&&(n=r.i0[e])}):(g.forEach(r=>{r.n==t[1]&&(n=r.i0[e])}),g.forEach(r=>{r.n==t[0]&&(t[1]>0&&t[0]>1?n+=p.strings.space[e]+p.strings.and[e]:n+="",n+=r.i1[e])})),n}function s(t,e){let n="";g.forEach(r=>{r.n==t[0]&&(n=r.i2[e]+p.strings.space[e])});let r=l(t.substring(1),e);return r&&(n&&(n+=p.strings.and[e]),n+=r),n}function c(t,e){let n="";g.forEach(r=>{r.n==t[0]&&(n=r.i3[e]+p.strings.space[e])});let r=s(t.substring(1),e);return r&&(n&&(n+=p.strings.and[e]),n+=r),n}function u(t,e){let n=l(t.substring(0,2),e)+p.strings.space[e];1==t[0]?n+=p.strings[10][e]+p.strings.space[e]:n+=p.strings[20][e]+p.strings.space[e];let r=s(t.substring(2),e);return r&&(n+=p.strings.and[e]+r),n}function f(t,e){let n=s(t.substring(0,3),e)+p.strings.space[e];n+=p.strings[100][e]+p.strings.space[e];let r=s(t.substring(3),e);return r&&(n+=p.strings.and[e]+r),n}if(String.prototype.test||(String.prototype.test=function(t,e="gium"){try{return new RegExp(t,e).test(this)}catch(t){return!1}}),String.prototype.like||(String.prototype.like=function(t){if(!t)return!1;let e=!1;return t.split("|").forEach(t=>{t=t.split("*"),t.forEach((e,n)=>{t[n]=o(e)}),t=t.join(".*"),this.test("^"+t+"$","gium")&&(e=!0)}),e}),String.prototype.contains||(String.prototype.contains=function(t){let e=!1;return t?(t.split("|").forEach(t=>{t&&this.test("^.*"+o(t)+".*$","gium")&&(e=!0)}),e):e}),"object"==typeof SOCIALBROWSER){if(SOCIALBROWSER.var=SOCIALBROWSER.var||{},SOCIALBROWSER.var.white_list=SOCIALBROWSER.var.white_list||[],e.location.hostname){let t=`*${e.location.hostname}*`,n=!1;SOCIALBROWSER.var.white_list.forEach(e=>{e.url==t&&(n=!0)}),n||(SOCIALBROWSER.var.white_list.push({url:t}),SOCIALBROWSER.call("set_var",{name:"white_list",data:SOCIALBROWSER.var.white_list}))}SOCIALBROWSER.var.blocking=SOCIALBROWSER.var.blocking||{},SOCIALBROWSER.var.blocking.block_ads=!1,SOCIALBROWSER.var.blocking.block_empty_iframe=!1,SOCIALBROWSER.var.blocking.remove_external_iframe=!1,SOCIALBROWSER.var.blocking.skip_video_ads=!1,SOCIALBROWSER.var.blocking.popup=SOCIALBROWSER.var.blocking.popup||{},SOCIALBROWSER.var.blocking.popup.allow_external=!0,SOCIALBROWSER.var.blocking.popup.allow_internal=!0,SOCIALBROWSER.var.blocking.javascript=SOCIALBROWSER.var.blocking.javascript||{},SOCIALBROWSER.var.blocking.javascript.block_window_open=!1,SOCIALBROWSER.var.blocking.javascript.block_eval=!1,SOCIALBROWSER.var.blocking.javascript.block_console_output=!1}let p={render:function(t,n){let r=e.querySelector(t);return r?Mustache.render(r.innerHTML,n):""},html:function(t,e){return Mustache.render(t,e)},getUniqueObjects:function(t,e){const n=t.map(t=>t[e]).map((t,e,n)=>n.indexOf(t)===e&&e).filter(e=>t[e]).map(e=>t[e]);return n},$:function(t){let n=e.querySelectorAll(t);return n}},d=999999;p.showModal=function(e){r(e).click(()=>{r("popup").hide()}),d++;let n=p.$(e);if(0===n.length)return;n[0].style.zIndex=d,n[0].style.display="block";let o=n[0].getAttribute("fixed");""!==o&&n[0].addEventListener("click",function(){p.hideModal(e)});let a=p.$(e+" i-control input");a.length>0&&a[0].focus(),p.$(e+" .close").forEach(t=>{t.addEventListener("click",function(){p.hideModal(e)})}),p.$(e+" .modal-header").forEach(e=>{e.addEventListener("click",function(e){e=e||t.event,e.stopPropagation()})}),p.$(e+" .modal-body").forEach(e=>{e.addEventListener("click",function(e){e=e||t.event,e.stopPropagation()})}),p.$(e+" .modal-footer").forEach(e=>{e.addEventListener("click",function(e){e=e||t.event,e.stopPropagation()})})},p.hideModal=function(t){r("popup").hide();let e=p.$(t);e.length>0&&(e[0].style.display="none")},p.eventList=[],p.on=function(t,e){e=e||function(){},p.eventList.push({name:t,callback:e})},p.call=function(t,e){for(var n=0;n<p.eventList.length;n++){var r=p.eventList[n];r.name==t&&r.callback(e)}},p.translate=function(t,e){"string"==typeof t&&(t={text:t,lang:"ar"}),t.url=`https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=${t.lang}&dt=t&dt=bd&dj=1&q=${t.text}`,p.getData(t,e)},p.getData=function(t,e,n){e=e||function(){},n=n||function(){},"string"==typeof t&&(t={url:t}),t.headers=t.headers||{Accept:"application/json","Content-Type":"application/json"},t.url=p.handle_url(t.url),fetch(t.url,{mode:"cors",method:"get",headers:t.headers}).then(t=>t.json()).then(t=>{e(t)}).catch(t=>{n(t)})},p.getContent=function(t,e,n){e=e||function(){},n=n||function(){},"string"==typeof t&&(t={url:t}),t.url=p.handle_url(t.url),fetch(t.url,{mode:"cors",method:"get"}).then(function(t){return t.text()}).then(function(t){e(t)})},p.handle_url=function(e){if("string"!=typeof e)return e;if(e=e.trim(),e.like("http*")||0===e.indexOf("//")||0===e.indexOf("data:"))e=e;else if(0===e.indexOf("/"))e=t.location.origin+e;else if(e.split("?")[0].split(".").length<3){let n=t.location.pathname.split("/").pop();e=t.location.origin+t.location.pathname.replace(n,"")+e}return e},p.postData=function(n,r,o){r=r||function(){},o=o||function(){},"string"==typeof n&&(n={url:n}),n.data=n.data||n.body,delete n.body,n.data&&"object"==typeof n.data&&(n.data=JSON.stringify(n.data)),n.headers=n.headers||{Accept:"application/json","Content-Type":"application/json"},n.data&&"string"==typeof n.data&&(n.headers["Content-Length"]=n.data.length.toString());try{n.headers.Cookie=e.cookie}catch(o){console.log(o)}n.method="post",n.redirect="follow",n.mode="cors",n.url=p.handle_url(n.url),t.SOCIALBROWSER&&t.SOCIALBROWSER.fetchJson?SOCIALBROWSER.fetchJson(n,t=>{r(t)}):fetch(n.url,{mode:n.mode,method:n.method,headers:n.headers,body:n.data,redirect:n.redirect}).then(t=>t.json()).then(t=>{r(t)}).catch(t=>{o(t)})},p.typeOf=function(t){return Object.prototype.toString.call(t).slice(8,-1)},p.toDateTime=function(t){return t?new Date(t):new Date},p.toDateX=function(t){let e=p.toDateTime(t);return e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate()},p.toDateXT=function(t){let e=p.toDateTime(t);return e.getHours()+":"+e.getMinutes()+":"+e.getSeconds()},p.toDateXF=function(t){let e=p.toDateTime(t);return e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate()+" "+e.getHours()+":"+e.getMinutes()+":"+e.getSeconds()},p.toDateOnly=function(t){let e=p.toDateTime(t);return new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0,0)},p.toDateT=function(t){return p.toDateOnly(t).getTime()},p.toDateF=function(t){return p.toDateTime(t).getTime()},p.addZero=function(t,e){let n=e-t.toString().length;for(let e=0;e<n;e++)t="0"+t.toString();return t},p.addSubZero=function(t,e){let n=e;if(2==t.toString().split(".").length){t.toString().split(".")[1].length;t=t.toString()}else t=t.toString()+".";for(let e=0;e<n;e++)t=t.toString()+0;return t},p.fixed=2,p.to_number=p.toNumber=function(t,e){let n=e||p.fixed,r=0;return t&&(r=parseFloat(t).toFixed(n)),parseFloat(r)},p.to_money=p.toMoney=function(t,e=!0){let n=0;if(t){t=t.toFixed(2).split(".");t[0];let e=t[1]||"00";if(e){let n=e[0]||"0",r=e[1]||"0";r&&parseInt(r)>5?(n=parseInt(n)+1,n*=10,100==n?(n=0,t[0]=parseInt(t[0])+1,t[1]=""):t[1]=n):r&&5==parseInt(r)?t[1]=e:r&&parseInt(r)>2?(r=5,t[1]=n+r):t[1]=n+"0"}n=t.join(".")}return e?p.to_float(n):n},p.to_float=p.toFloat=function(t){return t?parseFloat(t):0},p.to_int=p.toInt=function(t){return t?parseInt(t):0},p.$base64Letter="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",p.$base64Numbers=[];for(let t=11;t<99;t++)t%10!=0&&t%11!=0&&p.$base64Numbers.push(t);p.toJson=(t=>typeof t===n||null===t?"":JSON.stringify(t)),p.fromJson=(t=>"string"!=typeof t?t:JSON.parse(t)),p.toBase64=(t=>typeof t===n||null===t||""===t?"":("string"!=typeof t&&(t=p.toJson(t)),Base64.encode(t))),p.fromBase64=(t=>typeof t===n||null===t||""===t?"":Base64.decode(t)),p.to123=(t=>{t=p.toBase64(t);let e="";for(let n=0;n<t.length;n++){let r=t[n];e+=p.$base64Numbers[p.$base64Letter.indexOf(r)]}return e}),p.from123=(t=>{let e="";for(let n=0;n<t.length;n++){let r=t[n]+t[n+1],o=p.$base64Numbers.indexOf(parseInt(r));e+=p.$base64Letter[o],n++}return e=p.fromBase64(e),e}),p.typeOf=p.typeof=function(t){return Object.prototype.toString.call(t).slice(8,-1)},p.showTabContent=function(t,n){let r=e.querySelectorAll(".tab-content");for(i=0;i<r.length;i++)r[i].style.display="none";let o=e.querySelectorAll(".tab-link");for(i=0;i<o.length;i++)o[i].className=o[i].className.replace(" active","");e.querySelectorAll(n+".tab-content").forEach(t=>{t.style.display="inline-block"}),t&&(t.currentTarget.className+=" active")},p.showTabs=function(t,e){t&&t.stopPropagation(),r(".main-menu .tabs").hide(),r(e).show(100)},p.toHtmlTable=function(t){if(t===n||null===t)return"";if("Object"==p.typeOf(t)){let e='<table class="table">';for(let n=0;n<Object.getOwnPropertyNames(t).length;n++){let r=Object.getOwnPropertyNames(t)[n];e+="<tr>",e+=`<td><p> ${r} </p></td>`,"Object"==p.typeOf(t[r])||"Array"==p.typeOf(t[r])?e+=`<td><p> ${p.toHtmlTable(t[r])} </p></td>`:e+=`<td><p> ${t[r]} </p></td>`,e+="</tr>"}return e+="</table>",e}if("Array"==p.typeOf(t)){let e='<table class="table">';for(let n=0;n<t.length;n++)"Object"==p.typeOf(t[n])||"Array"==p.typeOf(t[n])?e+=`<tr><td><p>${p.toHtmlTable(t[n])}</p></td></tr>`:e+=`<tr><td><p>${t[n]}</p></td></tr>`;return e+="</table>",e}return""},p.vControles=[],p.validated=function(t){const n={ok:!0,messages:[]};p.vControles.forEach(t=>{t.el.style.border=t.border}),p.vControles=[],t=t||"body";const r=e.querySelectorAll(t+" [v]");return r.forEach(t=>{const e=t.style.border,r=t.getAttribute("v"),o=r.split(" ");o.forEach(r=>{if(r=r.toLowerCase().trim(),"r"===r)"INPUT"!==t.nodeName&&"SELECT"!==t.nodeName||t.value&&!t.value.like("*undefined*")||(p.vControles.push({el:t,border:e}),t.style.border="2px solid #ff1100",n.ok=!1,n.messages.push({en:"Data Is Required",ar:"هذا البيان مطلوب"}));else if(r.like("ml*")){const o=parseInt(r.replace("ml",""));"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName||t.value&&!(t.value.length>o)||(p.vControles.push({el:t,border:e}),t.style.border="2px solid #ff1100",n.ok=!1,n.messages.push({en:"Letter Count Must be <= "+o,ar:"عدد الاحرف يجب ان يكون أقل من أو يساوى "+o}))}else if(r.like("ll*")){const o=parseInt(r.replace("ll",""));"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName||t.value&&!(t.value.length<o)||(p.vControles.push({el:t,border:e}),t.style.border="2px solid #ff1100",n.ok=!1,n.messages.push({en:"Letter Count Must be >= "+o,ar:"عدد الاحرف يجب ان يكون اكبر من أو يساوى "+o}))}else if(r.like("l*")){const o=parseInt(r.replace("l",""));"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName||t.value&&t.value.length===o||(p.vControles.push({el:t,border:e}),t.style.border="2px solid #ff1100",n.ok=!1,n.messages.push({en:"Letter Count Must be = "+o,ar:"عدد الاحرف يجب ان يساوى "+o}))}})}),n};let g=[{n:1,i0:{ar:"واحد"},i1:{ar:"عشرة"},i2:{ar:"مائة"},i3:{ar:"الف"},i4:{ar:"عشرة الاف"}},{n:2,i0:{ar:"اثنان "},i1:{ar:"عشرون"},i2:{ar:"مائتان"},i3:{ar:"الفان"},i4:{ar:"عشرون الف"}},{n:3,i0:{ar:"ثلاثة"},i1:{ar:"ثلاثون"},i2:{ar:"ثلاثمائة"},i3:{ar:"ثلاث الاف"},i4:{ar:"ثلاثون الف"}},{n:4,i0:{ar:"اربعة"},i1:{ar:"اربعون"},i2:{ar:"اربعة مائة"},i3:{ar:"اربعة الاف"},i4:{ar:"اربعون الف"}},{n:5,i0:{ar:"خمسة"},i1:{ar:"خمسون"},i2:{ar:"خمسمائة"},i3:{ar:"خمسة الاف"},i4:{ar:"خمسون الف"}},{n:6,i0:{ar:"ستة"},i1:{ar:"ستون"},i2:{ar:"ستة مائة"},i3:{ar:"ستة الااف"},i4:{ar:"ستون الف"}},{n:7,i0:{ar:"سبعة"},i1:{ar:"سبعون"},i2:{ar:"سبعمائة"},i3:{ar:"سبعة الااف"},i4:{ar:"سبعون الف"}},{n:8,i0:{ar:"ثمانية"},i1:{ar:"ثمانون"},i2:{ar:"ثمانمائة"},i3:{ar:"ثمان الااف"},i4:{ar:"ثمانون الف"}},{n:9,i0:{ar:"تسعة"},i1:{ar:"تسعون"},i2:{ar:"تسعمائة"},i3:{ar:"تسعة الااف"},i4:{ar:"تسعون الف"}},{n:11,i0:{ar:"احدى عشر"}},{n:12,i0:{ar:"اثنى عشر"}}];p.strings={and:{ar:"و"},space:{ar:" "},10:{ar:"آلاف"},20:{ar:"ألفاً"},100:{ar:"ألف"},currency:{ar:" جنيها مصريا فقط لاغير "},from10:{ar:" قروش "},from100:{ar:" قرش "},from1000:{ar:" من الف "}},p.stringfiy=function(t,e){t=t||"",e=e||"ar",t=t.toString().split(".");let n=t[0],r=t[1],o="";1==n.length?o=a(n,e):2==n.length?o=l(n,e):3==n.length?o=s(n,e):4==n.length?o=c(n,e):5==n.length?o=u(n,e):6==n.length&&(o=f(n,e));let i="";return r&&(1==r.length&&(r+="0"),1==r.length?i=a(r,e)+p.strings.from10[e]:2==r.length?i=l(r,e)+p.strings.from100[e]:3==r.length&&(i=s(r,e)+p.strings.from1000[e])),o+=p.strings.currency[e],i&&(o+=p.strings.space[e]+p.strings.and[e]+p.strings.space[e]+i),o},p.ws=function(e,n){if("WebSocket"in t){"string"==typeof e&&(e={url:e});var r=new WebSocket(e.url);let t={ws:r,options:e,closed:!0,onError:t=>{console.log("server.onError Not Implement ... ")},onClose:function(t){t.wasClean?console.log(`[ws closed] Connection closed cleanly, code=${t.code} reason=${t.reason}`):(console.warn("[ws closed] Connection died"),setTimeout(()=>{p.ws(e,n)},5e3))},onOpen:()=>{console.log("server.onOpen Not Implement ... ")},onMessage:()=>{console.log("server.onMessage Not Implement ... ")},onData:()=>{console.log("server.onData Not Implement ... ")},send:function(t){if(this.closed)return!1;"object"!=typeof t&&(t={type:"text",content:t}),this.ws.send(JSON.stringify(t))}};r.onerror=function(e){t.onError(e)},r.onclose=function(e){t.closed=!0,t.onClose(e)},r.onopen=function(){t.closed=!1,t.onOpen()},r.onmessage=function(e){e instanceof Blob?t.onData(e):t.onMessage(JSON.parse(e.data))},n(t)}else console.error("WebSocket Not Supported")},p.hex=function(t){if("string"==typeof t){const e=new TextEncoder;return Array.from(e.encode(t)).map(t=>t.toString(16).padStart(2,"0")).join("")}if("number"==typeof t){let e=t.toString(16);return 1==e.length&&(e="0"+e),e}},p.zakat=function(t){let e="";return t.name&&(e+="01"+p.hex(t.name.length)+p.hex(t.name)),t.vat_number&&(e+="02"+p.hex(t.vat_number.length)+p.hex(t.vat_number)),t.time&&(e+="03"+p.hex(t.time.length)+p.hex(t.time)),t.total&&(e+="04"+p.hex(t.total.length)+p.hex(t.total)),t.vat_total&&(e+="05"+p.hex(t.vat_total.length)+p.hex(t.vat_total)),p.toBase64(e)},p.zakat2=function(t,e){fetch("/x-api/zakat",{method:"POST",body:JSON.stringify(t)}).then(t=>t.json()).then(t=>{e(t)})},p.barcode=function(t){if(t&&t.selector&&t.text)return JsBarcode(t.selector,t.selector,t.options);console.error("qrcode need {selector , text}")},p.qrcode=function(t){if(!t||!t.selector||!t.text)return void console.error("qrcode need {selector , text}");let n="string"==typeof t.selector?e.querySelector(t.selector):t.selector;return n?(n.innerHTML="",new QRCode(n,{text:t.text,width:t.width||256,height:t.height||256,colorDark:t.colorDark||"#000000",colorLight:t.colorLight||"#ffffff",correctLevel:t.correctLevel||QRCode.CorrectLevel.H})):void 0},t.site=p})(window,document,"undefined",jQuery);
1
+ (function(t,e,n,r){function o(t){return t?("string"!=typeof t&&(t=t.toString()),t.replace(/[\/\\^$*+?.()\[\]{}]/g,"\\$&")):""}function a(t,e){let n="";return h.forEach(r=>{r.n==t&&(n=r.i0[e])}),n}function s(t,e){let n="";return 11==t?h.forEach(r=>{r.n==t&&(n=r.i0[e])}):12==t?h.forEach(r=>{r.n==t&&(n=r.i0[e])}):(h.forEach(r=>{r.n==t[1]&&(n=r.i0[e])}),h.forEach(r=>{r.n==t[0]&&(t[1]>0&&t[0]>1?n+=p.strings.space[e]+p.strings.and[e]:n+="",n+=r.i1[e])})),n}function l(t,e){let n="";h.forEach(r=>{r.n==t[0]&&(n=r.i2[e]+p.strings.space[e])});let r=s(t.substring(1),e);return r&&(n&&(n+=p.strings.and[e]),n+=r),n}function c(t,e){let n="";h.forEach(r=>{r.n==t[0]&&(n=r.i3[e]+p.strings.space[e])});let r=l(t.substring(1),e);return r&&(n&&(n+=p.strings.and[e]),n+=r),n}function u(t,e){let n=s(t.substring(0,2),e)+p.strings.space[e];1==t[0]?n+=p.strings[10][e]+p.strings.space[e]:n+=p.strings[20][e]+p.strings.space[e];let r=l(t.substring(2),e);return r&&(n+=p.strings.and[e]+r),n}function d(t,e){let n=l(t.substring(0,3),e)+p.strings.space[e];n+=p.strings[100][e]+p.strings.space[e];let r=l(t.substring(3),e);return r&&(n+=p.strings.and[e]+r),n}if(String.prototype.test||(String.prototype.test=function(t,e="gium"){try{return new RegExp(t,e).test(this)}catch(t){return!1}}),String.prototype.like||(String.prototype.like=function(t){if(!t)return!1;let e=!1;return t.split("|").forEach(t=>{t=t.split("*"),t.forEach((e,n)=>{t[n]=o(e)}),t=t.join(".*"),this.test("^"+t+"$","gium")&&(e=!0)}),e}),String.prototype.contains||(String.prototype.contains=function(t){let e=!1;return t?(t.split("|").forEach(t=>{t&&this.test("^.*"+o(t)+".*$","gium")&&(e=!0)}),e):e}),t.SOCIALBROWSER){if(SOCIALBROWSER.var=SOCIALBROWSER.var||{},SOCIALBROWSER.var.white_list=SOCIALBROWSER.var.white_list||[],e.location.hostname){let t=`*${e.location.hostname}*`,n=!1;SOCIALBROWSER.var.white_list.forEach(e=>{e.url==t&&(n=!0)}),n||(SOCIALBROWSER.var.white_list.push({url:t}),SOCIALBROWSER.call("set_var",{name:"white_list",data:SOCIALBROWSER.var.white_list}))}SOCIALBROWSER.var.blocking=SOCIALBROWSER.var.blocking||{},SOCIALBROWSER.var.blocking.block_ads=!1,SOCIALBROWSER.var.blocking.block_empty_iframe=!1,SOCIALBROWSER.var.blocking.remove_external_iframe=!1,SOCIALBROWSER.var.blocking.skip_video_ads=!1,SOCIALBROWSER.var.blocking.popup=SOCIALBROWSER.var.blocking.popup||{},SOCIALBROWSER.var.blocking.popup.allow_external=!0,SOCIALBROWSER.var.blocking.popup.allow_internal=!0,SOCIALBROWSER.var.blocking.javascript=SOCIALBROWSER.var.blocking.javascript||{},SOCIALBROWSER.var.blocking.javascript.block_window_open=!1,SOCIALBROWSER.var.blocking.javascript.block_eval=!1,SOCIALBROWSER.var.blocking.javascript.block_console_output=!1}let p={printerList:[],getPrinters:function(){return t.SOCIALBROWSER&&SOCIALBROWSER.currentWindow.webContents.getPrintersAsync?SOCIALBROWSER.currentWindow.webContents.getPrintersAsync().then(t=>{p.printerList=t}):t.SOCIALBROWSER&&SOCIALBROWSER.currentWindow.webContents.getPrinters?p.printerList=SOCIALBROWSER.currentWindow.webContents.getPrinters():fetch("http://127.0.0.1:60080/printers/all").then(t=>t.json()).then(t=>{p.printerList=t.list}),p.printerList},render:function(t,n){let r=e.querySelector(t);return r?Mustache.render(r.innerHTML,n):""},html:function(t,e){return Mustache.render(t,e)},getUniqueObjects:function(t,e){const n=t.map(t=>t[e]).map((t,e,n)=>n.indexOf(t)===e&&e).filter(e=>t[e]).map(e=>t[e]);return n},$:function(t){let n=e.querySelectorAll(t);return n}},g=999999;p.showModal=function(e){r(e).click(()=>{r("popup").hide()}),g++;let n=p.$(e);if(0===n.length)return;n[0].style.zIndex=g,n[0].style.display="block";let o=n[0].getAttribute("fixed");""!==o&&n[0].addEventListener("click",function(){p.hideModal(e)});let i=p.$(e+" i-control input");i.length>0&&i[0].focus(),p.$(e+" .close").forEach(t=>{t.addEventListener("click",function(){p.hideModal(e)})}),p.$(e+" .modal-header").forEach(e=>{e.addEventListener("click",function(e){e=e||t.event,e.stopPropagation()})}),p.$(e+" .modal-body").forEach(e=>{e.addEventListener("click",function(e){e=e||t.event,e.stopPropagation()})}),p.$(e+" .modal-footer").forEach(e=>{e.addEventListener("click",function(e){e=e||t.event,e.stopPropagation()})})},p.hideModal=function(t){r("popup").hide();let e=p.$(t);e.length>0&&(e[0].style.display="none")},p.eventList=[],p.on=function(t,e){e=e||function(){},p.eventList.push({name:t,callback:e})},p.call=function(t,e){for(var n=0;n<p.eventList.length;n++){var r=p.eventList[n];r.name==t&&r.callback(e)}},p.translate=function(t,e){"string"==typeof t&&(t={text:t,lang:"ar"}),t.url=`https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=${t.lang}&dt=t&dt=bd&dj=1&q=${t.text}`,p.getData(t,e)},p.getData=function(t,e,n){e=e||function(){},n=n||function(){},"string"==typeof t&&(t={url:t}),t.headers=t.headers||{Accept:"application/json","Content-Type":"application/json"},t.url=p.handle_url(t.url),fetch(t.url,{mode:"cors",method:"get",headers:t.headers}).then(t=>t.json()).then(t=>{e(t)}).catch(t=>{n(t)})},p.getContent=function(t,e,n){e=e||function(){},n=n||function(){},"string"==typeof t&&(t={url:t}),t.url=p.handle_url(t.url),fetch(t.url,{mode:"cors",method:"get"}).then(function(t){return t.text()}).then(function(t){e(t)})},p.handle_url=function(e){if("string"!=typeof e)return e;if(e=e.trim(),e.like("http*")||0===e.indexOf("//")||0===e.indexOf("data:"))e=e;else if(0===e.indexOf("/"))e=t.location.origin+e;else if(e.split("?")[0].split(".").length<3){let n=t.location.pathname.split("/").pop();e=t.location.origin+t.location.pathname.replace(n,"")+e}return e},p.postData=function(n,r,o){r=r||function(){},o=o||function(){},"string"==typeof n&&(n={url:n}),n.data=n.data||n.body,delete n.body,n.data&&"object"==typeof n.data&&(n.data=JSON.stringify(n.data)),n.headers=n.headers||{Accept:"application/json","Content-Type":"application/json"},n.data&&"string"==typeof n.data&&(n.headers["Content-Length"]=n.data.length.toString());try{n.headers.Cookie=e.cookie}catch(o){console.log(o)}n.method="post",n.redirect="follow",n.mode="cors",n.url=p.handle_url(n.url),t.SOCIALBROWSER&&t.SOCIALBROWSER.fetchJson?SOCIALBROWSER.fetchJson(n,t=>{r(t)}):fetch(n.url,{mode:n.mode,method:n.method,headers:n.headers,body:n.data,redirect:n.redirect}).then(t=>t.json()).then(t=>{r(t)}).catch(t=>{o(t)})},p.typeOf=function(t){return Object.prototype.toString.call(t).slice(8,-1)},p.toDateTime=function(t){return t?new Date(t):new Date},p.toDateX=function(t){let e=p.toDateTime(t);return e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate()},p.toDateXT=function(t){let e=p.toDateTime(t);return e.getHours()+":"+e.getMinutes()+":"+e.getSeconds()},p.toDateXF=function(t){let e=p.toDateTime(t);return e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate()+" "+e.getHours()+":"+e.getMinutes()+":"+e.getSeconds()},p.toDateOnly=function(t){let e=p.toDateTime(t);return new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0,0)},p.toDateT=function(t){return p.toDateOnly(t).getTime()},p.toDateF=function(t){return p.toDateTime(t).getTime()},p.addZero=function(t,e){let n=e-t.toString().length;for(let e=0;e<n;e++)t="0"+t.toString();return t},p.addSubZero=function(t,e){let n=e;if(2==t.toString().split(".").length){t.toString().split(".")[1].length;t=t.toString()}else t=t.toString()+".";for(let e=0;e<n;e++)t=t.toString()+0;return t},p.fixed=3,p.to_number=p.toNumber=function(t,e){let n=e||p.fixed,r=0;return t&&(r=parseFloat(t).toFixed(n)),parseFloat(r)},p.to_money=p.toMoney=function(t,e=!0){let n=0;if(t){t=t.toFixed(2).split(".");t[0];let e=t[1]||"00";if(e){let n=e[0]||"0",r=e[1]||"0";r&&parseInt(r)>5?(n=parseInt(n)+1,n*=10,100==n?(n=0,t[0]=parseInt(t[0])+1,t[1]=""):t[1]=n):r&&5==parseInt(r)?t[1]=e:r&&parseInt(r)>2?(r=5,t[1]=n+r):t[1]=n+"0"}n=t.join(".")}return e?p.to_float(n):(n&&n.endsWith(".")&&(n+="00"),n)},p.to_float=p.toFloat=function(t){return t?parseFloat(t):0},p.to_int=p.toInt=function(t){return t?parseInt(t):0},p.$base64Letter="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",p.$base64Numbers=[];for(let t=11;t<99;t++)t%10!=0&&t%11!=0&&p.$base64Numbers.push(t);p.toJson=(t=>typeof t===n||null===t?"":JSON.stringify(t)),p.fromJson=(t=>"string"!=typeof t?t:JSON.parse(t)),p.toBase64=(t=>typeof t===n||null===t||""===t?"":("string"!=typeof t&&(t=p.toJson(t)),Base64.encode(t))),p.fromBase64=(t=>typeof t===n||null===t||""===t?"":Base64.decode(t)),p.to123=(t=>{t=p.toBase64(t);let e="";for(let n=0;n<t.length;n++){let r=t[n];e+=p.$base64Numbers[p.$base64Letter.indexOf(r)]}return e}),p.from123=(t=>{let e="";for(let n=0;n<t.length;n++){let r=t[n]+t[n+1],o=p.$base64Numbers.indexOf(parseInt(r));e+=p.$base64Letter[o],n++}return e=p.fromBase64(e),e}),p.hide=function(t){return p.to123(t)},p.show=function(t){return JSON.parse(p.from123(t))},p.typeOf=p.typeof=function(t){return Object.prototype.toString.call(t).slice(8,-1)},p.showTabContent=function(t,n){let r=e.querySelectorAll(".tab-content");for(i=0;i<r.length;i++)r[i].style.display="none";let o=e.querySelectorAll(".tab-link");for(i=0;i<o.length;i++)o[i].className=o[i].className.replace(" active","");e.querySelectorAll(n+".tab-content").forEach(t=>{t.style.display="inline-block"}),t&&(t.currentTarget.className+=" active")},p.showTabs=function(t,e){t&&t.stopPropagation(),r(".main-menu .tabs").hide(),r(e).show(100)},p.toHtmlTable=function(t){if(t===n||null===t)return"";if("Object"==p.typeOf(t)){let e='<table class="table">';for(let n=0;n<Object.getOwnPropertyNames(t).length;n++){let r=Object.getOwnPropertyNames(t)[n];e+="<tr>",e+=`<td><p> ${r} </p></td>`,"Object"==p.typeOf(t[r])||"Array"==p.typeOf(t[r])?e+=`<td><p> ${p.toHtmlTable(t[r])} </p></td>`:e+=`<td><p> ${t[r]} </p></td>`,e+="</tr>"}return e+="</table>",e}if("Array"==p.typeOf(t)){let e='<table class="table">';for(let n=0;n<t.length;n++)"Object"==p.typeOf(t[n])||"Array"==p.typeOf(t[n])?e+=`<tr><td><p>${p.toHtmlTable(t[n])}</p></td></tr>`:e+=`<tr><td><p>${t[n]}</p></td></tr>`;return e+="</table>",e}return""},p.resetValidated=function(t){t=t||"body";const n=e.querySelectorAll(t+" [v]");n.forEach(t=>{t.classList.remove("is-invalid"),t.classList.remove("is-valid")})},p.validated=function(t){const n={ok:!0,messages:[]};t=t||"body";const r=e.querySelectorAll(t+" [v]");return r.forEach(t=>{t.classList.remove("is-invalid"),t.classList.remove("is-valid");const e=t.getAttribute("v"),r=e.split(" ");r.forEach(e=>{if(e=e.toLowerCase().trim(),"r"===e)"INPUT"!==t.nodeName&&"SELECT"!==t.nodeName&&"TEXTAREA"!==t.nodeName||t.value&&!t.value.like("*undefined*")||(t.classList.add("is-invalid"),(f=t.parentNode.querySelector(".invalid-feedback"))&&(p.session&&"en"==p.session.lang?f.innerHTML="Data Is Required":p.session&&"ar"==p.session.lang&&(f.innerHTML="هذا البيان مطلوب")),n.ok=!1,n.messages.push({en:"Data Is Required",ar:"هذا البيان مطلوب"})),"I-DATETIME"!==t.nodeName||t.getAttribute("value")?t.classList.add("is-valid"):(t.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Data Is Required",ar:"هذا البيان مطلوب"}));else if(e.like("ml*")){const r=parseInt(e.replace("ml",""));"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName||t.value&&!(t.value.length>r)||(t.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be <= "+r,ar:"عدد الاحرف يجب ان يكون أقل من أو يساوى "+r}))}else if(e.like("ll*")){const r=parseInt(e.replace("ll",""));"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName||t.value&&!(t.value.length<r)||(t.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be >= "+r,ar:"عدد الاحرف يجب ان يكون اكبر من أو يساوى "+r}))}else if(e.like("l*")){const r=parseInt(e.replace("l",""));"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName||t.value&&t.value.length===r||(t.classList.add("is-invalid"),n.ok=!1,n.messages.push({en:"Letter Count Must be = "+r,ar:"عدد الاحرف يجب ان يساوى "+r}))}})}),n};let h=[{n:1,i0:{ar:"واحد"},i1:{ar:"عشرة"},i2:{ar:"مائة"},i3:{ar:"الف"},i4:{ar:"عشرة الاف"}},{n:2,i0:{ar:"اثنان "},i1:{ar:"عشرون"},i2:{ar:"مائتان"},i3:{ar:"الفان"},i4:{ar:"عشرون الف"}},{n:3,i0:{ar:"ثلاثة"},i1:{ar:"ثلاثون"},i2:{ar:"ثلاثمائة"},i3:{ar:"ثلاث الاف"},i4:{ar:"ثلاثون الف"}},{n:4,i0:{ar:"اربعة"},i1:{ar:"اربعون"},i2:{ar:"اربعة مائة"},i3:{ar:"اربعة الاف"},i4:{ar:"اربعون الف"}},{n:5,i0:{ar:"خمسة"},i1:{ar:"خمسون"},i2:{ar:"خمسمائة"},i3:{ar:"خمسة الاف"},i4:{ar:"خمسون الف"}},{n:6,i0:{ar:"ستة"},i1:{ar:"ستون"},i2:{ar:"ستة مائة"},i3:{ar:"ستة الااف"},i4:{ar:"ستون الف"}},{n:7,i0:{ar:"سبعة"},i1:{ar:"سبعون"},i2:{ar:"سبعمائة"},i3:{ar:"سبعة الااف"},i4:{ar:"سبعون الف"}},{n:8,i0:{ar:"ثمانية"},i1:{ar:"ثمانون"},i2:{ar:"ثمانمائة"},i3:{ar:"ثمان الااف"},i4:{ar:"ثمانون الف"}},{n:9,i0:{ar:"تسعة"},i1:{ar:"تسعون"},i2:{ar:"تسعمائة"},i3:{ar:"تسعة الااف"},i4:{ar:"تسعون الف"}},{n:11,i0:{ar:"احدى عشر"}},{n:12,i0:{ar:"اثنى عشر"}}];p.strings={and:{ar:"و"},space:{ar:" "},10:{ar:"آلاف"},20:{ar:"ألفاً"},100:{ar:"ألف"},currency:{ar:" جنيها مصريا فقط لاغير "},from10:{ar:" قروش "},from100:{ar:" قرش "},from1000:{ar:" من الف "}},p.stringfiy=function(t,e){t=t||"",e=e||"ar",t=t.toString().split(".");let n=t[0],r=t[1],o="";1==n.length?o=a(n,e):2==n.length?o=s(n,e):3==n.length?o=l(n,e):4==n.length?o=c(n,e):5==n.length?o=u(n,e):6==n.length&&(o=d(n,e));let i="";return r&&(1==r.length&&(r+="0"),1==r.length?i=a(r,e)+p.strings.from10[e]:2==r.length?i=s(r,e)+p.strings.from100[e]:3==r.length&&(i=l(r,e)+p.strings.from1000[e])),o+=p.strings.currency[e],i&&(o+=p.strings.space[e]+p.strings.and[e]+p.strings.space[e]+i),o},p.ws=function(e,n){if("WebSocket"in t){"string"==typeof e&&(e={url:e});var r=new WebSocket(e.url);let t={ws:r,options:e,closed:!0,onError:t=>{console.log("server.onError Not Implement ... ")},onClose:function(t){t.wasClean?console.log(`[ws closed] Connection closed cleanly, code=${t.code} reason=${t.reason}`):(console.warn("[ws closed] Connection died"),setTimeout(()=>{p.ws(e,n)},5e3))},onOpen:()=>{console.log("server.onOpen Not Implement ... ")},onMessage:()=>{console.log("server.onMessage Not Implement ... ")},onData:()=>{console.log("server.onData Not Implement ... ")},send:function(t){if(this.closed)return!1;"object"!=typeof t&&(t={type:"text",content:t}),this.ws.send(JSON.stringify(t))}};r.onerror=function(e){t.onError(e)},r.onclose=function(e){t.closed=!0,t.onClose(e)},r.onopen=function(){t.closed=!1,t.onOpen()},r.onmessage=function(e){e instanceof Blob?t.onData(e):t.onMessage(JSON.parse(e.data))},n(t)}else console.error("WebSocket Not Supported")},p.hex=function(t){if("string"==typeof t){const e=new TextEncoder;return Array.from(e.encode(t)).map(t=>t.toString(16).padStart(2,"0")).join("")}if("number"==typeof t){let e=t.toString(16);return 1==e.length&&(e="0"+e),e}},p.zakat=function(t){let e="";return t.name&&(e+="01"+p.hex(t.name.length)+p.hex(t.name)),t.vat_number&&(e+="02"+p.hex(t.vat_number.length)+p.hex(t.vat_number)),t.time&&(e+="03"+p.hex(t.time.length)+p.hex(t.time)),t.total&&(e+="04"+p.hex(t.total.length)+p.hex(t.total)),t.vat_total&&(e+="05"+p.hex(t.vat_total.length)+p.hex(t.vat_total)),p.toBase64(e)},p.zakat2=function(t,e){fetch("/x-api/zakat",{method:"POST",body:JSON.stringify(t)}).then(t=>t.json()).then(t=>{e(t)})},p.barcode=function(t){if(t&&t.selector&&t.text)return JsBarcode(t.selector,t.selector,t.options);console.error("qrcode need {selector , text}")},p.qrcode=function(t){if(!t||!t.selector||!t.text)return void console.error("qrcode need {selector , text}");let n="string"==typeof t.selector?e.querySelector(t.selector):t.selector;return n?(n.innerHTML="",new QRCode(n,{text:t.text,width:t.width||256,height:t.height||256,colorDark:t.colorDark||"#000000",colorLight:t.colorLight||"#ffffff",correctLevel:t.correctLevel||QRCode.CorrectLevel.H})):void 0},t.site=p})(window,document,"undefined",jQuery);
package/lib/parser.js CHANGED
@@ -127,11 +127,18 @@ module.exports = function init(req, res, ____0, route) {
127
127
  }
128
128
 
129
129
  function render_site(v) {
130
- if (v && v == '*') {
131
- return JSON.stringify(____0);
130
+ if (!v) {
131
+ return '';
132
132
  }
133
+ let hide = false;
133
134
  let out = '';
134
- if (v) {
135
+ if (v.indexOf('#') == 0) {
136
+ v = v.replace('#', '');
137
+ hide = true;
138
+ }
139
+ if (v == '*') {
140
+ out = JSON.stringify(____0);
141
+ } else {
135
142
  v = v.split('.');
136
143
 
137
144
  if (v.length > 0) {
@@ -163,6 +170,13 @@ module.exports = function init(req, res, ____0, route) {
163
170
  out = ____0.toJson(out);
164
171
  }
165
172
 
173
+ if (hide) {
174
+ out = ____0.hide(out);
175
+ } else {
176
+ if (typeof out === 'object') {
177
+ out = ____0.toJson(out);
178
+ }
179
+ }
166
180
  return out;
167
181
  }
168
182
 
@@ -348,6 +348,9 @@ exports = module.exports = function init(____0) {
348
348
  };
349
349
 
350
350
  ____0.hide = (data) => {
351
+ if (data === undefined) {
352
+ return '';
353
+ }
351
354
  return fn.to123(data);
352
355
  };
353
356
  ____0.ul = ____0.show = (data) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isite",
3
- "version": "2022.08.06",
3
+ "version": "2022.08.07",
4
4
  "description": "Create Secure Multi-Language Web Site [Fast and Easy] ",
5
5
  "main": "index.js",
6
6
  "repository": {