empower-container 0.1.2 → 0.1.5
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/README.md +240 -236
- package/package.json +5 -2
- package/src/main/DatetimeFormatter.js +24 -21
- package/src/main/DatetimeFormatter.tsx +7 -4
- package/src/main/Information.js +13 -15
- package/src/main/Information.tsx +40 -36
- package/src/main/MenuBar.d.ts +0 -1
- package/src/main/MenuBar.js +26 -22
- package/src/main/MenuBar.tsx +41 -37
- package/src/main/Modal.d.ts +1 -0
- package/src/main/Modal.js +5 -5
- package/src/main/Modal.tsx +7 -10
- package/src/main/assets/Asset.d.ts +1 -0
- package/src/main/assets/Asset.js +5 -1
- package/src/main/assets/Asset.tsx +9 -0
- package/src/main/inputs/Input.d.ts +0 -1
- package/src/main/inputs/Input.js +0 -1
- package/src/main/inputs/Input.tsx +0 -1
- package/src/main/inputs/Select.d.ts +0 -1
- package/src/main/inputs/Select.js +3 -3
- package/src/main/inputs/Select.tsx +3 -3
- package/src/main/tsconfig.common.json +2 -1
- package/src/main/tsconfig.json +1 -0
- package/src/sample/App.d.ts +0 -1
- package/src/sample/App.js +1 -1
- package/src/sample/App.tsx +2 -1
- package/src/sample/TestMenuBar.js +24 -4
- package/src/sample/TestMenuBar.tsx +40 -10
- package/src/scss/components/_modal.scss +41 -30
- package/src/scss/elements/_button.scss +1 -3
- package/src/scss/elements/_popover.scss +6 -38
- package/src/scss/foundation/_mixins.scss +0 -2
- package/src/scss/foundation/_typography.scss +0 -4
- package/src/scss/library/_information.scss +68 -0
- package/{dist/scss/library/input.scss → src/scss/library/_input.scss} +0 -2
- package/{dist/scss/library/menubar.scss → src/scss/library/_menubar.scss} +0 -2
- package/{dist/scss/library/select.scss → src/scss/library/_select.scss} +0 -4
- package/src/scss/style.scss +21 -5
- package/dist/assets/Asset.d.ts +0 -14
- package/dist/assets/Asset.js +0 -43
- package/dist/assets/Asset.tsx +0 -66
- package/dist/assets/icons/icon-check-white-sm.svg +0 -3
- package/dist/assets/images/icon-arrowdown-graydark.svg +0 -3
- package/dist/assets/images/icon-arrowleft-graydark.svg +0 -3
- package/dist/assets/images/icon-arrowright-graydark.svg +0 -3
- package/dist/assets/images/icon-arrowup-graydark.svg +0 -3
- package/dist/assets/images/icon-check-graydark.svg +0 -3
- package/dist/cjs/DatetimeFormatter.d.ts +0 -3
- package/dist/cjs/DatetimeFormatter.js +0 -386
- package/dist/cjs/Information.d.ts +0 -10
- package/dist/cjs/Information.js +0 -64
- package/dist/cjs/MenuBar.d.ts +0 -25
- package/dist/cjs/MenuBar.js +0 -534
- package/dist/cjs/Modal.d.ts +0 -32
- package/dist/cjs/Modal.js +0 -32
- package/dist/cjs/assets/Asset.d.ts +0 -14
- package/dist/cjs/assets/Asset.js +0 -28
- package/dist/cjs/constants/Constant.d.ts +0 -15
- package/dist/cjs/constants/Constant.js +0 -35
- package/dist/cjs/index.d.ts +0 -3
- package/dist/cjs/index.js +0 -10
- package/dist/cjs/inputs/Input.d.ts +0 -26
- package/dist/cjs/inputs/Input.js +0 -107
- package/dist/cjs/inputs/InputSelectionHandler.d.ts +0 -3
- package/dist/cjs/inputs/InputSelectionHandler.js +0 -36
- package/dist/cjs/inputs/Select.d.ts +0 -29
- package/dist/cjs/inputs/Select.js +0 -403
- package/dist/esm/DatetimeFormatter.d.ts +0 -3
- package/dist/esm/DatetimeFormatter.js +0 -382
- package/dist/esm/Information.d.ts +0 -10
- package/dist/esm/Information.js +0 -36
- package/dist/esm/MenuBar.d.ts +0 -25
- package/dist/esm/MenuBar.js +0 -529
- package/dist/esm/Modal.d.ts +0 -32
- package/dist/esm/Modal.js +0 -27
- package/dist/esm/assets/Asset.d.ts +0 -14
- package/dist/esm/assets/Asset.js +0 -25
- package/dist/esm/constants/Constant.d.ts +0 -15
- package/dist/esm/constants/Constant.js +0 -32
- package/dist/esm/index.d.ts +0 -3
- package/dist/esm/index.js +0 -3
- package/dist/esm/inputs/Input.d.ts +0 -26
- package/dist/esm/inputs/Input.js +0 -105
- package/dist/esm/inputs/InputSelectionHandler.d.ts +0 -3
- package/dist/esm/inputs/InputSelectionHandler.js +0 -31
- package/dist/esm/inputs/Select.d.ts +0 -29
- package/dist/esm/inputs/Select.js +0 -399
- package/dist/scss/components/_index.scss +0 -1
- package/dist/scss/components/_modal.scss +0 -55
- package/dist/scss/elements/_button.scss +0 -109
- package/dist/scss/elements/_index.scss +0 -2
- package/dist/scss/elements/_popover.scss +0 -40
- package/dist/scss/foundation/_colors.scss +0 -60
- package/dist/scss/foundation/_index.scss +0 -5
- package/dist/scss/foundation/_mixins.scss +0 -43
- package/dist/scss/foundation/_normalize.scss +0 -204
- package/dist/scss/foundation/_settings.scss +0 -36
- package/dist/scss/foundation/_typography.scss +0 -99
- package/dist/scss/library/_index.scss +0 -3
- package/dist/scss/style.scss +0 -8
- package/src/scss/components/_index.scss +0 -1
- package/src/scss/foundation/_index.scss +0 -5
- package/src/scss/library/_index.scss +0 -3
- package/src/scss/library/input.scss +0 -39
- package/src/scss/library/menubar.scss +0 -227
- package/src/scss/library/select.scss +0 -262
package/src/main/inputs/Input.js
CHANGED
@@ -36,7 +36,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
37
37
|
var react_1 = __importStar(require("react"));
|
38
38
|
require("../../scss/style.scss");
|
39
|
-
require("../../scss/library/input.scss");
|
40
39
|
var sanitizeValue = function (txt, props) {
|
41
40
|
var pattern = null;
|
42
41
|
var newTxt = txt;
|
@@ -46,7 +46,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
46
|
exports.Popover = void 0;
|
47
47
|
var react_1 = __importStar(require("react"));
|
48
48
|
require("../../scss/style.scss");
|
49
|
-
require("../../scss/library/select.scss");
|
50
49
|
// Imports
|
51
50
|
var Asset_1 = require("../assets/Asset");
|
52
51
|
var Popover = function (_a) {
|
@@ -223,9 +222,10 @@ var Dropdown = function (_a) {
|
|
223
222
|
* @param {*} values - selected values of multi-select
|
224
223
|
*/
|
225
224
|
function filterOptions(search, values) {
|
225
|
+
var selectedOptionsVariable = null;
|
226
226
|
if (type === 'multi-select') {
|
227
227
|
if (optionsArray && optionsArray.constructor === Array) {
|
228
|
-
|
228
|
+
selectedOptionsVariable = selectedOptions(values);
|
229
229
|
if (options && options.constructor === Array && options.length > 0) {
|
230
230
|
optionsArray = options.filter(function (item) {
|
231
231
|
return values.indexOf(item.value) < 0 && item.label.toLowerCase().search(search.toLowerCase()) > -1;
|
@@ -238,7 +238,7 @@ var Dropdown = function (_a) {
|
|
238
238
|
}
|
239
239
|
else if (optionsArray && optionsArray.constructor === Object) {
|
240
240
|
var optionsArrayCopy_1 = {};
|
241
|
-
|
241
|
+
selectedOptionsVariable = selectedOptions(values);
|
242
242
|
if (selectedOptionsVariable.length > 0) {
|
243
243
|
selectedOptionsVariable = selectedOptionsVariable.filter(function (item) {
|
244
244
|
return item.label.toLowerCase().search(search.toLowerCase()) > -1;
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import React, { useState, Fragment } from "react";
|
2
2
|
import '../../scss/style.scss';
|
3
|
-
import '../../scss/library/select.scss';
|
4
3
|
|
5
4
|
// Imports
|
6
5
|
import { SVG_BACK, SVG_CLOSE_GRAY, SVG_ARROWLEFT, SVG_ARROWRIGHT, SVG_CHECK, SVG_ARROWDOWN } from '../assets/Asset';
|
@@ -253,9 +252,10 @@ const Dropdown: React.FC<IPropsDropDown> = ({ config, customClass, onChanged, is
|
|
253
252
|
* @param {*} values - selected values of multi-select
|
254
253
|
*/
|
255
254
|
function filterOptions(search: string, values: any) {
|
255
|
+
let selectedOptionsVariable = null;
|
256
256
|
if (type === 'multi-select') {
|
257
257
|
if (optionsArray && optionsArray.constructor === Array) {
|
258
|
-
|
258
|
+
selectedOptionsVariable = selectedOptions(values);
|
259
259
|
if (options && options.constructor===Array && options.length > 0) {
|
260
260
|
optionsArray = options.filter((item:any) => {
|
261
261
|
return values.indexOf(item.value) < 0 && item.label.toLowerCase().search(search.toLowerCase()) > -1;
|
@@ -268,7 +268,7 @@ const Dropdown: React.FC<IPropsDropDown> = ({ config, customClass, onChanged, is
|
|
268
268
|
setOptionsArray([...values, ...optionsArray]);
|
269
269
|
} else if (optionsArray && optionsArray.constructor === Object) {
|
270
270
|
let optionsArrayCopy:{[index: string]:any} = {};
|
271
|
-
|
271
|
+
selectedOptionsVariable = selectedOptions(values);
|
272
272
|
if (selectedOptionsVariable.length > 0) {
|
273
273
|
selectedOptionsVariable = selectedOptionsVariable.filter((item:any) => {
|
274
274
|
return item.label.toLowerCase().search(search.toLowerCase()) > -1;
|
@@ -12,7 +12,7 @@
|
|
12
12
|
"skipLibCheck": true,
|
13
13
|
"esModuleInterop": true,
|
14
14
|
"allowSyntheticDefaultImports": true,
|
15
|
-
"strict":
|
15
|
+
"strict": false,
|
16
16
|
"forceConsistentCasingInFileNames": true,
|
17
17
|
"noFallthroughCasesInSwitch": true,
|
18
18
|
"declaration": true,
|
@@ -21,6 +21,7 @@
|
|
21
21
|
"suppressImplicitAnyIndexErrors": true,
|
22
22
|
"jsx": "react-jsx",
|
23
23
|
"outDir": "../../dist/cjs",
|
24
|
+
|
24
25
|
|
25
26
|
|
26
27
|
|
package/src/main/tsconfig.json
CHANGED
package/src/sample/App.d.ts
CHANGED
package/src/sample/App.js
CHANGED
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
var react_1 = __importDefault(require("react"));
|
7
|
-
|
7
|
+
// import './App.css';
|
8
8
|
var TestMenuBar_1 = __importDefault(require("./TestMenuBar"));
|
9
9
|
function App() {
|
10
10
|
return (react_1.default.createElement("div", { className: "App" },
|
package/src/sample/App.tsx
CHANGED
@@ -191,7 +191,7 @@ var TestMenuBar = function () {
|
|
191
191
|
selected: 0,
|
192
192
|
total: 1
|
193
193
|
},
|
194
|
-
info:
|
194
|
+
info: null
|
195
195
|
}
|
196
196
|
}), statedata = _a[0], setStateData = _a[1];
|
197
197
|
var _b = __assign({}, statedata), menubar = _b.menubar, modal = _b.modal;
|
@@ -226,16 +226,35 @@ var TestMenuBar = function () {
|
|
226
226
|
menubar.dropdown.selection.startDate = data;
|
227
227
|
menubar.dropdown.selection.endDate = data;
|
228
228
|
break;
|
229
|
+
case 'icon':
|
230
|
+
// menubar.info = '<p>In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before the final copy is</p>';
|
231
|
+
var infoMenuBar = {
|
232
|
+
infoDetails: {
|
233
|
+
"companyPolicy": "<p><strong>Certifying Daily Time Records (DTR) </strong></p>\n<p>All Employees are expected to certify all DTRs covering a pay period as true, correct, accurate and final that will serve as basis to compute their pay.</p>\n<p><strong>Failure</strong> to certify DTRs shall result to an Auto-Certification at the end of the pay cutoff. Uncertified DTRs will be deemed true, correct, accurate and final, except for Absences incurred on the day of the cutoff itself, either on the 10th or 26th of the month.</p>\n<p>For these absences, either of the following will apply:</p>\n<p>1. The employee is given until the 12th or the 27th to amend the DTR and seek approval;</p>\n<p>2. The Timekeeping & Benefits department will verify the details of the absence incurred and amend the DTR appropriately.</p>\n<p>The Company has two (2) pay cutoff periods:</p>\n<p>1. Payroll for the 15th -- 26th of the previous month to the 10th of the current month 2. Payroll for the 30th -- 11th to the 25th of the current month.</p>\n<p><strong>Clock In</strong></p>\n<p>When an employee clocks into work, the Company’s online system shall provide the applicable status:</p>\n<p><strong> ON TIME</strong> - Clock In before the start of shift and/ or before the grace period (if any) ends</p>\n<p>TARDY - Clock In within the first four (4) hours after the shift has started</p>\n<p>ABSENT (1ST HALF and TARDY) - Clock In beyond the first four (4) hours after the shift has started will be tagged as Tardy. The first four (4) hours after the shift has started will be tagged as Absent - 1st Half.</p>\n<p><strong> Tardiness</strong></p>\n<p>1. Failure to come ON TIME six (6) times or accumulation of at least 60 minutes of TARDINESS (whichever comes first) within the 11th of the current month to the 10th of the following month, shall constitute an offense of TARDINESS.</p>\n<p>Employees are expected to time in upon arriving at their respective office. However, due to unforeseen circumstances preventing the employee to timely Clock In within the Company’s online system, employees are allowed to amend their Clock In time, subject to the approval of their respective Department Head / Immediate Superior. Amendments to Clock In within the Company’s online system can be done on or before the payroll cutoff.</p>\n<p>2. Employee reporting to work after the official start of the assigned work shift and, if any, after the grace period. Applicable only to Time-bounded Work Shifts.</p>\n<p>Tardiness computed in payroll is equivalent to length of time computed as the difference between the clock in time and the grace period. If no Grace Period allowed, it will be the difference between the clock in time and the start of the shift.</p>\n<p>Example:</p>\n<p>Start Time - 6:00 AM</p>\n<p>Grace Period - 6:10 AM (10 minutes from the start of the shift)</p>\n<p>Clock In - 6:15 AM</p>\n<p>Tardiness = 5 minutes (time in excess of the end of the Grace Period)</p>\n<p>Computed Tardiness will be the basis of payroll deductions.</p>\n<p><strong>Clock Out</strong></p>\n<p>When an employee clocks out of work, the Company’s online system shall provide the applicable status:</p>\n<p><strong> SHIFT ENDED</strong> - Clock out on or beyond the end of shift will be tagged as Shift Ended</p>\n<p><strong>UNDERTIME</strong> - Clock out before the expected end of shift will tag the talent as Undertime</p>\n<p><strong>ABSENT (2ND HALF and Undertime)</strong> - Clock out within the first four (4) hours after the shift has started will be tagged as Undertime. The last four (4) hours before the shift ends will be tagged as Absent - 2nd Half.</p>\n<p><strong> Undertime </strong></p>\n<p>An employee leaving work earlier than the required end of a Work Shift. Undertime computed in payroll is equivalent to length of time computed as the difference between the end of shift and the clock out time.</p>\n<p>Example:</p>\n<p>End Time - 3:00 PM</p>\n<p>Clock In - 2:55 PM</p>\n<p>Undertime = 5 minutes (time out short of the end of the Grace Period)</p>\n<p>Computed Undertime will be the basis of payroll deductions.</p>",
|
234
|
+
"systemPolicy": "<p><strong>Certify </strong></p>\n<p>1. Certification of DTR can only be done<strong> within the cutoff. </strong></p>\n<p>2. You cannot certify an <strong>incomplete DTR, current day</strong> and <strong>an ongoing shift. </strong></p>\n<p>3. Failure to certify DTRs shall result to an Auto-Certification at the end of the pay cutoff.</p>\n<p><strong>What you can do:</strong></p>\n<p>1. If with time logged (whether complete or incomplete), allows <strong>DTR amendment</strong> or <strong>Certify</strong>.</p>\n<p>2. If registered Absent, allows DTR amendment, File a Leave or Certify.</p>\n<p><strong>Amendment can be done in the following ways: </strong></p>\n<p>1. Time Recorder - Previous Shift</p>\n<p>2. Requests - File Request / DTR amendment</p>\n<p>3. Express Button - Amendment</p>\n<p><strong>Filing of leave can be done in the following ways:</strong></p>\n<p>1. Time Recorder - Previous Shift</p>\n<p>2. Requests - File Request / File Leave</p>\n<p>3. Express Button - File Leave</p>\n<p><strong>Amend DTR</strong></p>\n<p>1. You cannot amend an<strong> Ongoing / Current Shift.</strong> Filing of DTR amendment is allowed the next day after you have Clocked In.</p>\n<p>2. Amendments are disallowed by the end of the cutoff (10th or 25th).</p>\n<p>3. You are expected to amend your DTR within <strong>twenty-four (24) hours upon return to work</strong> in the succeeding Work Shift.</p>\n<p>4. You can only adjust your CLOCK IN DATE one (1) day prior your Chosen Work Date.</p>\n<p><strong>E.g</strong></p>\n<p>Work Date: November 08, 2019 - 12:00am to 09:00am</p>\n<p>Clock in Date: November 07, 2019 Clock In Time:11:00pm</p>\n<p>Clock out Date: November 08, 2019 Clock out Time:09:00am</p>\n<p>5. You can only adjust your CLOCK OUT DATE one (1) day after your Chosen Work Date.</p>\n<p><strong>E.g</strong></p>\n<p>Work Date: November 08, 2019 - 8:00am to 05:00pm</p>\n<p>Clock in Date: November 08, 2019 Clock In Time:08:00am</p>\n<p>Clock out Date: November 09, 2019 Clock out Time:02:00am</p>\n<p>6. DTR amendment request can be canceled / edited provided the request is still pending.</p>\n<p>7. DTR amendment requests that have already passed or requests that have already been denied cannot be canceled.</p>\n<p>8. DTRs that have been previously certified <strong>CANNOT</strong> be amended.</p>\n<p><strong> File Leave </strong></p>\n<p>1. Filing of Sick / Emergency Leave is allowed the next day after you have Clocked In.</p>\n<p>2. You cannot file a backdated Vacation Leave.</p>\n<p>3. You cannot file a future - dated Sick / Emergency Leave.</p>\n<p>4. The employee is expected to file a Sick or Emergency Leave within the Company online system within <strong>twenty-four (24) hours upon return to work</strong> in the succeeding Work Shift.</p>\n<p>5. Leave request can be edited provided the request is still pending.</p>\n<p>6. Approved leave request can be canceled before the effectivity date.</p>\n<p>7. Reporting to work on a day with a pre-approved SIL.</p>\n<p>- Will cancel the leave</p>\n<p>- Credit back the approved SIL to the Leave balance</p>\n<p>- Record the DTR for the day</p>",
|
235
|
+
"instruction": "<p><strong>What you can do:</strong></p>\n<p>1. If with time logged (whether complete or incomplete), allows DTR amendment or Certify.</p>\n<p>2. If without time logged, allows DTR Amemdment.</p>\n<p>3. If registered Absent, allows DTR amendment, File a Leave or Certify.</p>\n<p><strong>Amendment can be done in the following ways:</strong></p>\n<p>1. Time Recorder - Previous Shift</p>\n<p>2. Requests - File Request / DTR amendment</p>\n<p>3. Express Button - Amendment</p>\n<p><strong>Filing of leave can be done in the following ways:</strong></p>\n<p>1. Time Recorder - Previous Shift</p>\n<p>2. Requests - File Request / File Leave</p>\n<p>3. Express Button - File Leave</p>"
|
236
|
+
},
|
237
|
+
listRow: [
|
238
|
+
"COMPANY POLICY",
|
239
|
+
"SYSTEM POLICY",
|
240
|
+
"INSTRUCTION"
|
241
|
+
],
|
242
|
+
"loaded": false,
|
243
|
+
"cardIconDesc": false
|
244
|
+
};
|
245
|
+
menubar.info = infoMenuBar;
|
246
|
+
break;
|
229
247
|
default: break;
|
230
248
|
}
|
231
249
|
statedata.menubar = menubar;
|
232
|
-
|
250
|
+
statedata.modal = modal;
|
251
|
+
setStateData(__assign({}, statedata));
|
233
252
|
};
|
234
253
|
var displayModal = function (event) {
|
235
254
|
event.preventDefault();
|
236
255
|
modal.show = true;
|
237
256
|
statedata.modal = modal;
|
238
|
-
setStateData(__assign(
|
257
|
+
setStateData(__assign({}, statedata));
|
239
258
|
};
|
240
259
|
var getModalActions = function (action, data) {
|
241
260
|
console.log(action, data, 'action modal');
|
@@ -246,7 +265,7 @@ var TestMenuBar = function () {
|
|
246
265
|
default: break;
|
247
266
|
}
|
248
267
|
statedata.modal = modal;
|
249
|
-
setStateData(__assign(
|
268
|
+
setStateData(__assign({}, statedata));
|
250
269
|
};
|
251
270
|
var View = function () {
|
252
271
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
@@ -475,6 +494,7 @@ var TestMenuBar = function () {
|
|
475
494
|
react_1.default.createElement("b", null, "Approved"),
|
476
495
|
" - 17 Same Request(s)")))))))));
|
477
496
|
};
|
497
|
+
console.log(menubar.info, 'menubar');
|
478
498
|
return View();
|
479
499
|
};
|
480
500
|
exports.default = TestMenuBar;
|
@@ -3,14 +3,11 @@ import { MenuBar, Modal } from '../main';
|
|
3
3
|
import { SVG_SUBMIT, SVG_UNDO, SVG_REQUEST, SVG_ADD } from '../main/assets/Asset';
|
4
4
|
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
6
|
const TestMenuBar = () => {
|
10
7
|
|
11
8
|
|
12
9
|
const MENUBAR = {
|
13
|
-
|
10
|
+
|
14
11
|
dropdown: {
|
15
12
|
show: true,
|
16
13
|
icon: (<img src="/images/icons/icon-add-graydark.svg" alt="" />),
|
@@ -40,7 +37,7 @@ const TestMenuBar = () => {
|
|
40
37
|
},
|
41
38
|
]
|
42
39
|
},
|
43
|
-
|
40
|
+
|
44
41
|
}
|
45
42
|
|
46
43
|
let [statedata, setStateData] = useState({
|
@@ -169,9 +166,11 @@ const TestMenuBar = () => {
|
|
169
166
|
selected: 0,
|
170
167
|
total: 1
|
171
168
|
},
|
172
|
-
info:
|
169
|
+
info: null
|
173
170
|
}
|
174
171
|
|
172
|
+
|
173
|
+
|
175
174
|
})
|
176
175
|
|
177
176
|
|
@@ -209,18 +208,42 @@ const TestMenuBar = () => {
|
|
209
208
|
menubar.dropdown.selection.startDate = data;
|
210
209
|
menubar.dropdown.selection.endDate = data;
|
211
210
|
break;
|
211
|
+
|
212
|
+
case 'icon':
|
213
|
+
// menubar.info = '<p>In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before the final copy is</p>';
|
214
|
+
const infoMenuBar = {
|
215
|
+
infoDetails: {
|
216
|
+
"companyPolicy": "<p><strong>Certifying Daily Time Records (DTR) </strong></p>\n<p>All Employees are expected to certify all DTRs covering a pay period as true, correct, accurate and final that will serve as basis to compute their pay.</p>\n<p><strong>Failure</strong> to certify DTRs shall result to an Auto-Certification at the end of the pay cutoff. Uncertified DTRs will be deemed true, correct, accurate and final, except for Absences incurred on the day of the cutoff itself, either on the 10th or 26th of the month.</p>\n<p>For these absences, either of the following will apply:</p>\n<p>1. The employee is given until the 12th or the 27th to amend the DTR and seek approval;</p>\n<p>2. The Timekeeping & Benefits department will verify the details of the absence incurred and amend the DTR appropriately.</p>\n<p>The Company has two (2) pay cutoff periods:</p>\n<p>1. Payroll for the 15th -- 26th of the previous month to the 10th of the current month 2. Payroll for the 30th -- 11th to the 25th of the current month.</p>\n<p><strong>Clock In</strong></p>\n<p>When an employee clocks into work, the Company’s online system shall provide the applicable status:</p>\n<p><strong> ON TIME</strong> - Clock In before the start of shift and/ or before the grace period (if any) ends</p>\n<p>TARDY - Clock In within the first four (4) hours after the shift has started</p>\n<p>ABSENT (1ST HALF and TARDY) - Clock In beyond the first four (4) hours after the shift has started will be tagged as Tardy. The first four (4) hours after the shift has started will be tagged as Absent - 1st Half.</p>\n<p><strong> Tardiness</strong></p>\n<p>1. Failure to come ON TIME six (6) times or accumulation of at least 60 minutes of TARDINESS (whichever comes first) within the 11th of the current month to the 10th of the following month, shall constitute an offense of TARDINESS.</p>\n<p>Employees are expected to time in upon arriving at their respective office. However, due to unforeseen circumstances preventing the employee to timely Clock In within the Company’s online system, employees are allowed to amend their Clock In time, subject to the approval of their respective Department Head / Immediate Superior. Amendments to Clock In within the Company’s online system can be done on or before the payroll cutoff.</p>\n<p>2. Employee reporting to work after the official start of the assigned work shift and, if any, after the grace period. Applicable only to Time-bounded Work Shifts.</p>\n<p>Tardiness computed in payroll is equivalent to length of time computed as the difference between the clock in time and the grace period. If no Grace Period allowed, it will be the difference between the clock in time and the start of the shift.</p>\n<p>Example:</p>\n<p>Start Time - 6:00 AM</p>\n<p>Grace Period - 6:10 AM (10 minutes from the start of the shift)</p>\n<p>Clock In - 6:15 AM</p>\n<p>Tardiness = 5 minutes (time in excess of the end of the Grace Period)</p>\n<p>Computed Tardiness will be the basis of payroll deductions.</p>\n<p><strong>Clock Out</strong></p>\n<p>When an employee clocks out of work, the Company’s online system shall provide the applicable status:</p>\n<p><strong> SHIFT ENDED</strong> - Clock out on or beyond the end of shift will be tagged as Shift Ended</p>\n<p><strong>UNDERTIME</strong> - Clock out before the expected end of shift will tag the talent as Undertime</p>\n<p><strong>ABSENT (2ND HALF and Undertime)</strong> - Clock out within the first four (4) hours after the shift has started will be tagged as Undertime. The last four (4) hours before the shift ends will be tagged as Absent - 2nd Half.</p>\n<p><strong> Undertime </strong></p>\n<p>An employee leaving work earlier than the required end of a Work Shift. Undertime computed in payroll is equivalent to length of time computed as the difference between the end of shift and the clock out time.</p>\n<p>Example:</p>\n<p>End Time - 3:00 PM</p>\n<p>Clock In - 2:55 PM</p>\n<p>Undertime = 5 minutes (time out short of the end of the Grace Period)</p>\n<p>Computed Undertime will be the basis of payroll deductions.</p>",
|
217
|
+
"systemPolicy": "<p><strong>Certify </strong></p>\n<p>1. Certification of DTR can only be done<strong> within the cutoff. </strong></p>\n<p>2. You cannot certify an <strong>incomplete DTR, current day</strong> and <strong>an ongoing shift. </strong></p>\n<p>3. Failure to certify DTRs shall result to an Auto-Certification at the end of the pay cutoff.</p>\n<p><strong>What you can do:</strong></p>\n<p>1. If with time logged (whether complete or incomplete), allows <strong>DTR amendment</strong> or <strong>Certify</strong>.</p>\n<p>2. If registered Absent, allows DTR amendment, File a Leave or Certify.</p>\n<p><strong>Amendment can be done in the following ways: </strong></p>\n<p>1. Time Recorder - Previous Shift</p>\n<p>2. Requests - File Request / DTR amendment</p>\n<p>3. Express Button - Amendment</p>\n<p><strong>Filing of leave can be done in the following ways:</strong></p>\n<p>1. Time Recorder - Previous Shift</p>\n<p>2. Requests - File Request / File Leave</p>\n<p>3. Express Button - File Leave</p>\n<p><strong>Amend DTR</strong></p>\n<p>1. You cannot amend an<strong> Ongoing / Current Shift.</strong> Filing of DTR amendment is allowed the next day after you have Clocked In.</p>\n<p>2. Amendments are disallowed by the end of the cutoff (10th or 25th).</p>\n<p>3. You are expected to amend your DTR within <strong>twenty-four (24) hours upon return to work</strong> in the succeeding Work Shift.</p>\n<p>4. You can only adjust your CLOCK IN DATE one (1) day prior your Chosen Work Date.</p>\n<p><strong>E.g</strong></p>\n<p>Work Date: November 08, 2019 - 12:00am to 09:00am</p>\n<p>Clock in Date: November 07, 2019 Clock In Time:11:00pm</p>\n<p>Clock out Date: November 08, 2019 Clock out Time:09:00am</p>\n<p>5. You can only adjust your CLOCK OUT DATE one (1) day after your Chosen Work Date.</p>\n<p><strong>E.g</strong></p>\n<p>Work Date: November 08, 2019 - 8:00am to 05:00pm</p>\n<p>Clock in Date: November 08, 2019 Clock In Time:08:00am</p>\n<p>Clock out Date: November 09, 2019 Clock out Time:02:00am</p>\n<p>6. DTR amendment request can be canceled / edited provided the request is still pending.</p>\n<p>7. DTR amendment requests that have already passed or requests that have already been denied cannot be canceled.</p>\n<p>8. DTRs that have been previously certified <strong>CANNOT</strong> be amended.</p>\n<p><strong> File Leave </strong></p>\n<p>1. Filing of Sick / Emergency Leave is allowed the next day after you have Clocked In.</p>\n<p>2. You cannot file a backdated Vacation Leave.</p>\n<p>3. You cannot file a future - dated Sick / Emergency Leave.</p>\n<p>4. The employee is expected to file a Sick or Emergency Leave within the Company online system within <strong>twenty-four (24) hours upon return to work</strong> in the succeeding Work Shift.</p>\n<p>5. Leave request can be edited provided the request is still pending.</p>\n<p>6. Approved leave request can be canceled before the effectivity date.</p>\n<p>7. Reporting to work on a day with a pre-approved SIL.</p>\n<p>- Will cancel the leave</p>\n<p>- Credit back the approved SIL to the Leave balance</p>\n<p>- Record the DTR for the day</p>",
|
218
|
+
"instruction": "<p><strong>What you can do:</strong></p>\n<p>1. If with time logged (whether complete or incomplete), allows DTR amendment or Certify.</p>\n<p>2. If without time logged, allows DTR Amemdment.</p>\n<p>3. If registered Absent, allows DTR amendment, File a Leave or Certify.</p>\n<p><strong>Amendment can be done in the following ways:</strong></p>\n<p>1. Time Recorder - Previous Shift</p>\n<p>2. Requests - File Request / DTR amendment</p>\n<p>3. Express Button - Amendment</p>\n<p><strong>Filing of leave can be done in the following ways:</strong></p>\n<p>1. Time Recorder - Previous Shift</p>\n<p>2. Requests - File Request / File Leave</p>\n<p>3. Express Button - File Leave</p>"
|
219
|
+
},
|
220
|
+
listRow: [
|
221
|
+
"COMPANY POLICY",
|
222
|
+
"SYSTEM POLICY",
|
223
|
+
"INSTRUCTION"
|
224
|
+
],
|
225
|
+
"loaded": false,
|
226
|
+
"cardIconDesc": false
|
227
|
+
}
|
228
|
+
|
229
|
+
menubar.info = infoMenuBar
|
230
|
+
|
231
|
+
|
232
|
+
break;
|
233
|
+
|
212
234
|
default: break;
|
213
235
|
}
|
214
236
|
statedata.menubar = menubar;
|
237
|
+
statedata.modal = modal;
|
215
238
|
|
216
|
-
setStateData({...statedata
|
239
|
+
setStateData({...statedata});
|
217
240
|
}
|
218
241
|
|
219
242
|
const displayModal = (event) => {
|
220
243
|
event.preventDefault();
|
221
244
|
modal.show = true;
|
222
245
|
statedata.modal = modal
|
223
|
-
setStateData({...statedata
|
246
|
+
setStateData({...statedata});
|
224
247
|
}
|
225
248
|
|
226
249
|
const getModalActions = (action, data) => {
|
@@ -234,7 +257,7 @@ const TestMenuBar = () => {
|
|
234
257
|
}
|
235
258
|
|
236
259
|
statedata.modal = modal
|
237
|
-
setStateData({...statedata
|
260
|
+
setStateData({...statedata});
|
238
261
|
}
|
239
262
|
|
240
263
|
const View = () => {
|
@@ -301,12 +324,19 @@ const TestMenuBar = () => {
|
|
301
324
|
{...modal}
|
302
325
|
getActions={(action, data) => getModalActions(action, data)}
|
303
326
|
>
|
304
|
-
<div className="card-grid card-grid-multiple"
|
327
|
+
<div className="card-grid card-grid-multiple">
|
328
|
+
<div className="card-grid-col">
|
329
|
+
<div className="card-grid-item">
|
330
|
+
<div className="card-grid-name">
|
331
|
+
<div>
|
332
|
+
<a href="#" className="thumb thumb-sm"><span>AU</span></a>
|
333
|
+
</div><div><h6>Alvin Uy</h6><label>Product Manager</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>KU</span></a></div><div><h6>Ken Uriarte</h6><label>Principal Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>JC</span></a></div><div><h6>Jacky Alexander Chan</h6><label>Ph Senior Software Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>KU</span></a></div><div><h6>Ken Uriarte</h6><label>Principal Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>KU</span></a></div><div><h6>Ken Uriarte</h6><label>Principal Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>KU</span></a></div><div><h6>Ken Uriarte</h6><label>Principal Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>KU</span></a></div><div><h6>Ken Uriarte</h6><label>Principal Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>KU</span></a></div><div><h6>Ken Uriarte</h6><label>Principal Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>AU</span></a></div><div><h6>Alvin Uy</h6><label>Product Manager</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>KU</span></a></div><div><h6>Ken Uriarte</h6><label>Principal Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>KU</span></a></div><div><h6>Ken Uriarte</h6><label>Principal Developer</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div><div className="card-grid-col"><div className="card-grid-item"><div className="card-grid-name"><div><a href="#" className="thumb thumb-sm"><span>AU</span></a></div><div><h6>Alvin Uy</h6><label>Product Manager</label></div></div><div className="card-grid-info"><div><div><div data-testid="badge-current" className="badge badge-approved"></div></div><span><b>Approved</b> - 17 Same Request(s)</span></div></div></div></div></div>
|
305
334
|
</Modal>
|
306
335
|
</React.Fragment>
|
307
336
|
)
|
308
337
|
}
|
309
338
|
|
339
|
+
console.log(menubar.info, 'menubar')
|
310
340
|
return View();
|
311
341
|
};
|
312
342
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* Modal */
|
2
|
-
.
|
2
|
+
.em-modal{
|
3
3
|
position: fixed;
|
4
4
|
top: 0;
|
5
5
|
left: 0;
|
@@ -9,47 +9,58 @@
|
|
9
9
|
padding: 30px 15px;
|
10
10
|
display: flex;
|
11
11
|
justify-content: center;
|
12
|
-
overflow: auto;
|
12
|
+
overflow: auto;
|
13
|
+
|
14
|
+
&:before{
|
15
|
+
content: '';
|
16
|
+
width: 100vw;
|
17
|
+
height: 100vh;
|
18
|
+
z-index: 9000;
|
19
|
+
position: fixed;
|
20
|
+
top: 0;
|
21
|
+
left: 0;
|
22
|
+
opacity: 0.9;
|
23
|
+
background: linear-gradient(to bottom, rgba(13,14,28,0.9), rgba(8,19,117,0.9));
|
24
|
+
}
|
13
25
|
}
|
14
26
|
|
15
|
-
.
|
27
|
+
.em-modal-container{
|
16
28
|
position: relative;
|
17
29
|
z-index: 9001;
|
18
30
|
margin: auto;
|
19
31
|
display: flex;
|
20
32
|
height: initial;
|
21
|
-
}
|
22
33
|
|
23
|
-
|
24
|
-
|
34
|
+
> div{
|
35
|
+
margin: auto;
|
36
|
+
}
|
25
37
|
}
|
26
38
|
|
27
|
-
.
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
position: fixed;
|
33
|
-
top: 0;
|
34
|
-
left: 0;
|
35
|
-
opacity: 0.9;
|
36
|
-
background: linear-gradient(to bottom, rgba(13,14,28,0.9), rgba(8,19,117,0.9));
|
37
|
-
}
|
39
|
+
.em-card {
|
40
|
+
background-color: $white;
|
41
|
+
padding: 5px;
|
42
|
+
box-shadow: $shadow-card;
|
43
|
+
border-radius: 10px;
|
38
44
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
}
|
45
|
+
&.modal-sm{
|
46
|
+
width: 100vw;
|
47
|
+
max-width: 400px;
|
48
|
+
margin: 0 auto;
|
49
|
+
}
|
44
50
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
51
|
+
&.modal-md{
|
52
|
+
width: 100vw;
|
53
|
+
max-width: 600px;
|
54
|
+
margin: 0 auto;
|
55
|
+
}
|
56
|
+
|
57
|
+
&.modal-lg{
|
58
|
+
width: 100vw;
|
59
|
+
max-width: 960px;
|
60
|
+
margin: 0 auto;
|
61
|
+
}
|
49
62
|
}
|
50
63
|
|
51
|
-
.
|
52
|
-
|
53
|
-
max-width: 960px;
|
54
|
-
margin: 0 auto;
|
64
|
+
.em-card-content {
|
65
|
+
padding: 15px;
|
55
66
|
}
|
@@ -1,40 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
.MuiPopover-root .MuiPopover-paper {
|
4
|
-
box-shadow: none;
|
5
|
-
overflow: visible;
|
6
|
-
|
7
|
-
}
|
8
|
-
|
9
|
-
|
10
|
-
.popover.em-popover-input .button-check {
|
11
|
-
border-radius: 10px;
|
12
|
-
height: 40px;
|
13
|
-
width: 40px;
|
14
|
-
}
|
15
|
-
|
16
|
-
.popover.em-popover-input .button-check svg path{
|
17
|
-
fill: #393F5A;
|
18
|
-
}
|
19
|
-
|
20
|
-
.popover.em-popover-input .button-check:hover {
|
21
|
-
background-color: $blue-light1;
|
22
|
-
}
|
23
|
-
|
24
|
-
.card{
|
1
|
+
.em-popover {
|
25
2
|
background-color: $white;
|
26
|
-
|
27
|
-
|
28
|
-
border-radius:
|
29
|
-
|
30
|
-
|
31
|
-
.card .card-belt{
|
32
|
-
padding: 10px 15px;
|
33
|
-
min-height: 40px;
|
34
|
-
box-shadow: none;
|
35
|
-
background-color: transparent;
|
36
|
-
}
|
37
|
-
|
38
|
-
.card .card-content{
|
39
|
-
padding: 15px;
|
3
|
+
border-top: 5px solid $blue-light4;
|
4
|
+
border-bottom-left-radius: $border-radius-md;
|
5
|
+
border-bottom-right-radius: $border-radius-md;
|
6
|
+
box-shadow: $shadow-popover;
|
7
|
+
max-width: 650px;
|
40
8
|
}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
.em-belt-info {
|
2
|
+
position: relative;
|
3
|
+
|
4
|
+
.em-info-icon {
|
5
|
+
display: flex;
|
6
|
+
justify-content: center;
|
7
|
+
align-items: center;
|
8
|
+
height: 40px;
|
9
|
+
width: 40px;
|
10
|
+
border-radius: $border-radius-md;
|
11
|
+
|
12
|
+
&:hover {
|
13
|
+
background-color: $blue-light;
|
14
|
+
|
15
|
+
svg {
|
16
|
+
path {
|
17
|
+
stroke: #5C7FF3;
|
18
|
+
}
|
19
|
+
|
20
|
+
circle {
|
21
|
+
fill: #5C7FF3;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
.em-popover-i {
|
29
|
+
background-color: $white;
|
30
|
+
width: 650px;
|
31
|
+
border-bottom-left-radius: $border-radius-md;
|
32
|
+
border-bottom-right-radius: $border-radius-md;
|
33
|
+
|
34
|
+
.em-popover-i-content {
|
35
|
+
> div {
|
36
|
+
max-height: calc(75vh - 120px);
|
37
|
+
overflow-y: auto;
|
38
|
+
border-bottom: 1px solid $gray-light1;
|
39
|
+
padding: 15px;
|
40
|
+
|
41
|
+
&:last-of-type {
|
42
|
+
border: none;
|
43
|
+
border-bottom-left-radius: $border-radius-md;
|
44
|
+
border-bottom-right-radius: $border-radius-md;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
.em-popover-i-title {
|
49
|
+
display: flex;
|
50
|
+
justify-content: space-between;
|
51
|
+
align-items: center;
|
52
|
+
}
|
53
|
+
|
54
|
+
.em-popover-i-category {
|
55
|
+
display: flex;
|
56
|
+
justify-content: space-between;
|
57
|
+
|
58
|
+
&:hover {
|
59
|
+
cursor: pointer;
|
60
|
+
background-color: $gray-light;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
.em-popover-i-close {
|
65
|
+
cursor: pointer;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|