diff --git a/e2e/helpers/extensions.js b/e2e/helpers/extensions.js index 9562ec641..081332337 100644 --- a/e2e/helpers/extensions.js +++ b/e2e/helpers/extensions.js @@ -483,26 +483,28 @@ let actions = { checkboxState: function(selector, done) { this.wait(selector) - .evaluate(checkboxSelector => { - return document.querySelector(checkboxSelector).getAttribute('class'); + .evaluate(selector => { + let checkbox = document.querySelector(selector); + switch (checkbox.$ctrl.field) { + case null: + return 'intermediate'; + case true: + return 'checked'; + default: + return 'unchecked'; + } }, selector) - .then(elementClass => { - let classList = elementClass.split(' '); - let className; + .then(res => done(null, res)) + .catch(done); + }, - if (classList.includes('md-checked')) - className = 'checked'; - if (classList.includes('md-intermediate')) - className = 'intermediate'; - if (!classList.includes('md-intermediate') && !classList.includes('md-checked')) - className = 'unchecked'; - - if (!className) - throw new Error(`selector: ${selector} is not a md-checkbox`); - - done(null, className); - }) - .then(done) + isDisabled: function(selector, done) { + this.wait(selector) + .evaluate(selector => { + let element = document.querySelector(selector); + return element.$ctrl.disabled; + }, selector) + .then(res => done(null, res)) .catch(done); }, diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js index 51df37d43..d8a1cda62 100644 --- a/e2e/helpers/selectors.js +++ b/e2e/helpers/selectors.js @@ -62,29 +62,29 @@ export default { fiscalDataButton: 'vn-left-menu a[ui-sref="client.card.fiscalData"]', socialNameInput: `${components.vnTextfield}[name="socialName"]`, fiscalIdInput: `${components.vnTextfield}[name="fi"]`, - equalizationTaxCheckbox: 'vn-check[label="Is equalizated"] md-checkbox', + equalizationTaxCheckbox: 'vn-check[label="Is equalizated"]', acceptPropagationButton: 'vn-client-fiscal-data > vn-confirm button[response=ACCEPT]', addressInput: `${components.vnTextfield}[name="street"]`, postcodeInput: `${components.vnTextfield}[name="postcode"]`, cityInput: `${components.vnTextfield}[name="city"]`, provinceAutocomplete: 'vn-autocomplete[field="$ctrl.client.provinceFk"]', countryAutocomplete: 'vn-autocomplete[field="$ctrl.client.countryFk"]', - activeCheckbox: 'vn-check[label="Active"] md-checkbox', - frozenCheckbox: 'vn-check[label="Frozen"] md-checkbox', - invoiceByAddressCheckbox: 'vn-check[label="Invoice by address"] md-checkbox', - verifiedDataCheckbox: 'vn-check[label="Verified data"] md-checkbox', - hasToInvoiceCheckbox: 'vn-check[label="Has to invoice"] md-checkbox', - invoiceByMailCheckbox: 'vn-check[label="Invoice by mail"] md-checkbox', - viesCheckbox: 'vn-check[label="Vies"] md-checkbox', + activeCheckbox: 'vn-check[label="Active"]', + frozenCheckbox: 'vn-check[label="Frozen"]', + invoiceByAddressCheckbox: 'vn-check[label="Invoice by address"]', + verifiedDataCheckbox: 'vn-check[label="Verified data"]', + hasToInvoiceCheckbox: 'vn-check[label="Has to invoice"]', + invoiceByMailCheckbox: 'vn-check[label="Invoice by mail"]', + viesCheckbox: 'vn-check[label="Vies"]', saveButton: `${components.vnSubmit}` }, clientBillingData: { payMethodAutocomplete: 'vn-autocomplete[field="$ctrl.client.payMethodFk"]', IBANInput: `${components.vnTextfield}[name="iban"]`, dueDayInput: `${components.vnInputNumber}[name="dueDay"]`, - receivedCoreLCRCheckbox: 'vn-check[label="Received LCR"] md-checkbox', - receivedCoreVNLCheckbox: 'vn-check[label="Received core VNL"] md-checkbox', - receivedB2BVNLCheckbox: 'vn-check[label="Received B2B VNL"] md-checkbox', + receivedCoreLCRCheckbox: 'vn-check[label="Received LCR"]', + receivedCoreVNLCheckbox: 'vn-check[label="Received core VNL"]', + receivedB2BVNLCheckbox: 'vn-check[label="Received B2B VNL"]', swiftBicAutocomplete: 'vn-client-billing-data vn-autocomplete[field="$ctrl.client.bankEntityFk"]', clearswiftBicButton: 'vn-client-billing-data vn-autocomplete[field="$ctrl.client.bankEntityFk"] > div > div > div > vn-icon > i', newBankEntityButton: 'vn-client-billing-data vn-icon-button[vn-tooltip="New bank entity"] > button', @@ -97,7 +97,7 @@ export default { clientAddresses: { addressesButton: 'vn-left-menu a[ui-sref="client.card.address.index"]', createAddress: `vn-client-address-index ${components.vnFloatButton}`, - defaultCheckboxInput: 'vn-check[label="Default"] md-checkbox', + defaultCheckboxInput: 'vn-check[label="Default"]', consigneeInput: `${components.vnTextfield}[name="nickname"]`, streetAddressInput: `${components.vnTextfield}[name="street"]`, postcodeInput: `${components.vnTextfield}[name="postalCode"]`, @@ -110,8 +110,8 @@ export default { secondMakeDefaultStar: 'vn-client-address-index vn-card div:nth-child(2) vn-icon-button[icon="star_border"]', firstEditAddress: 'vn-client-address-index div:nth-child(1) > a', secondEditAddress: 'vn-client-address-index div:nth-child(2) > a', - activeCheckbox: 'vn-check[label="Enabled"] md-checkbox', - equalizationTaxCheckbox: 'vn-client-address-edit vn-check[label="Is equalizated"] md-checkbox', + activeCheckbox: 'vn-check[label="Enabled"]', + equalizationTaxCheckbox: 'vn-client-address-edit vn-check[label="Is equalizated"]', firstObservationTypeAutocomplete: 'vn-client-address-edit [name=observations] :nth-child(1) [field="observation.observationTypeFk"]', firstObservationDescriptionInput: 'vn-client-address-edit [name=observations] :nth-child(1) [model="observation.description"] input', secondObservationTypeAutocomplete: 'vn-client-address-edit [name=observations] :nth-child(2) [field="observation.observationTypeFk"]', @@ -123,7 +123,7 @@ export default { }, clientWebAccess: { webAccessButton: 'vn-left-menu a[ui-sref="client.card.webAccess"]', - enableWebAccessCheckbox: 'vn-check[label="Enable web access"] md-checkbox', + enableWebAccessCheckbox: 'vn-check[label="Enable web access"]', userNameInput: `${components.vnTextfield}[name="name"]`, saveButton: `${components.vnSubmit}` }, @@ -172,7 +172,7 @@ export default { }, webPayment: { confirmFirstPaymentButton: 'vn-client-web-payment vn-tr:nth-child(1) vn-icon-button[icon="done_all"]', - firstPaymentConfirmed: 'vn-client-web-payment vn-tr:nth-child(1) vn-icon[icon="check"][aria-hidden="false"]' + firstPaymentConfirmed: 'vn-client-web-payment vn-tr:nth-child(1) vn-icon[icon="check"]' }, dms: { deleteFileButton: 'vn-client-dms-index vn-table vn-tr:nth-child(1) vn-icon-button[icon="delete"]', @@ -194,17 +194,17 @@ export default { fieldsToShowForm: 'vn-item-index > div > vn-card > div > vn-table > div.ng-scope > div > vn-dialog > div > form', firstItemImage: 'vn-item-index vn-tbody > a:nth-child(1) > vn-td:nth-child(1)', firstItemId: 'vn-item-index vn-tbody > a:nth-child(1) > vn-td:nth-child(2)', - idCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(2) > vn-check > md-checkbox', - stemsCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(3) > vn-check > md-checkbox', - sizeCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(4) > vn-check > md-checkbox', - nicheCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(5) > vn-check > md-checkbox', - typeCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(6) > vn-check > md-checkbox', - categoryCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(7) > vn-check > md-checkbox', - intrastadCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(8) > vn-check > md-checkbox', - originCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(9) > vn-check > md-checkbox', - buyerCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(10) > vn-check > md-checkbox', - destinyCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(11) > vn-check > md-checkbox', - taxClassCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(12) > vn-check > md-checkbox', + idCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(2) > vn-check', + stemsCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(3) > vn-check', + sizeCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(4) > vn-check', + nicheCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(5) > vn-check', + typeCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(6) > vn-check', + categoryCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(7) > vn-check', + intrastadCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(8) > vn-check', + originCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(9) > vn-check', + buyerCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(10) > vn-check', + destinyCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(11) > vn-check', + taxClassCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(12) > vn-check', saveFieldsButton: 'vn-item-index vn-dialog vn-horizontal:nth-child(16) > vn-button > button' }, itemCreateView: { @@ -236,8 +236,8 @@ export default { originAutocomplete: 'vn-autocomplete[field="$ctrl.item.originFk"]', expenceAutocomplete: 'vn-autocomplete[field="$ctrl.item.expenceFk"]', longNameInput: 'vn-textfield[field="$ctrl.item.longName"] input', - isActiveCheckbox: 'vn-check[label="Active"] md-checkbox', - priceInKgCheckbox: 'vn-check[label="Price in kg"] md-checkbox', + isActiveCheckbox: 'vn-check[label="Active"]', + priceInKgCheckbox: 'vn-check[label="Price in kg"]', submitBasicDataButton: `${components.vnSubmit}` }, itemTags: { @@ -430,7 +430,7 @@ export default { firstSaleReservedIcon: 'vn-ticket-sale vn-tr:nth-child(1) > vn-td:nth-child(2) > vn-icon:nth-child(3)', firstSaleColour: 'vn-tr:nth-child(1) vn-fetched-tags section', firstSaleLength: 'vn-ticket-sale vn-tr:nth-child(1) vn-td-editable:nth-child(6) section:nth-child(3)', - firstSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(1) vn-check[field="sale.checked"] md-checkbox', + firstSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(1) vn-check[field="sale.checked"]', secondSaleColour: 'vn-tr:nth-child(2) vn-fetched-tags section', secondSalePrice: 'vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(7) > span', secondSaleDiscount: 'vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(8)', @@ -444,9 +444,9 @@ export default { secondSaleConceptCell: 'vn-ticket-sale vn-table > div > vn-tbody > vn-tr:nth-child(2) > vn-td-editable:nth-child(6)', secondSaleConceptInput: 'vn-ticket-sale vn-table vn-tr:nth-child(2) > vn-td-editable.ng-isolate-scope.selected vn-textfield input', totalImport: 'vn-ticket-sale > vn-vertical > vn-card > div > vn-vertical > vn-horizontal > vn-one > p:nth-child(3) > strong', - selectAllSalesCheckbox: 'vn-ticket-sale vn-thead vn-check md-checkbox', - secondSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(2) vn-check[field="sale.checked"] md-checkbox', - thirdSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(3) vn-check[field="sale.checked"] md-checkbox', + selectAllSalesCheckbox: 'vn-ticket-sale vn-thead vn-check', + secondSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(2) vn-check[field="sale.checked"]', + thirdSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(3) vn-check[field="sale.checked"]', deleteSaleButton: 'vn-ticket-sale vn-tool-bar > vn-button[icon="delete"]', transferSaleButton: 'vn-ticket-sale vn-tool-bar > vn-button[icon="call_split"]', moveToTicketInput: '.vn-popover.shown vn-textfield[model="$ctrl.transfer.ticketId"] input', @@ -579,7 +579,7 @@ export default { firstLineDestination: 'vn-claim-action vn-tr:nth-child(1) vn-autocomplete[field="saleClaimed.claimDestinationFk"]', secondLineDestination: 'vn-claim-action vn-tr:nth-child(2) vn-autocomplete[field="saleClaimed.claimDestinationFk"]', firstDeleteLine: 'vn-claim-action vn-tr:nth-child(1) vn-icon-button[icon="delete"]', - isPaidWithManaCheckbox: 'vn-check[field="$ctrl.claim.isChargedToMana"] md-checkbox' + isPaidWithManaCheckbox: 'vn-check[field="$ctrl.claim.isChargedToMana"]' }, ordersIndex: { searchResult: 'vn-order-index vn-card > div > vn-table > div > vn-tbody > a.vn-tr', @@ -662,7 +662,7 @@ export default { thirdTicketPriority: 'vn-route-tickets vn-tr:nth-child(3) vn-textfield[model="ticket.priority"] input', fourthTicketPriority: 'vn-route-tickets vn-tr:nth-child(4) vn-textfield[model="ticket.priority"] input', eleventhTicketPriority: 'vn-route-tickets vn-tr:nth-child(11) vn-textfield[model="ticket.priority"] input', - firstTicketCheckbox: 'vn-route-tickets vn-tr:nth-child(1) vn-check md-checkbox', + firstTicketCheckbox: 'vn-route-tickets vn-tr:nth-child(1) vn-check', buscamanButton: 'vn-route-tickets vn-button[icon="icon-buscaman"]', firstTicketDeleteButton: 'vn-route-tickets vn-tr:nth-child(1) vn-icon[icon="delete"]', confirmButton: 'vn-route-tickets > vn-confirm button[response="ACCEPT"]' diff --git a/e2e/paths/02-client-module/12_lock_of_verified_data.spec.js b/e2e/paths/02-client-module/12_lock_of_verified_data.spec.js index 75b8935d1..a4c97eb62 100644 --- a/e2e/paths/02-client-module/12_lock_of_verified_data.spec.js +++ b/e2e/paths/02-client-module/12_lock_of_verified_data.spec.js @@ -53,10 +53,7 @@ describe('Client lock verified data path', () => { it('should confirm verified data button is enabled for administrative', async() => { const result = await nightmare - .wait(selectors.clientFiscalData.verifiedDataCheckbox) - .evaluate(selector => { - return document.querySelector(selector).disabled; - }, selectors.clientFiscalData.verifiedDataCheckbox); + .isDisabled(selectors.clientFiscalData.verifiedDataCheckbox); expect(result).toBeFalsy(); }); @@ -107,13 +104,10 @@ describe('Client lock verified data path', () => { }); it('should confirm verified data button is disabled once again for salesPerson', async() => { - const isChecked = await nightmare - .waitForClassPresent(selectors.clientFiscalData.verifiedDataCheckbox, 'md-checked') - .evaluate(selector => { - return document.querySelector(selector).getAttribute('disabled'); - }, selectors.clientFiscalData.verifiedDataCheckbox); + const isDisabled = await nightmare + .isDisabled(selectors.clientFiscalData.verifiedDataCheckbox); - expect(isChecked).toBeTruthy(); + expect(isDisabled).toBeTruthy(); }); it('should not be able to save change throwing a verified data error', async() => { @@ -138,12 +132,9 @@ describe('Client lock verified data path', () => { it('should confirm verified data button is enabled for salesAssistant', async() => { const isDisabled = await nightmare - .waitForClassPresent(selectors.clientFiscalData.verifiedDataCheckbox, 'md-checked') - .evaluate(selector => { - return document.querySelector(selector).getAttribute('aria-disabled'); - }, selectors.clientFiscalData.verifiedDataCheckbox); + .isDisabled(selectors.clientFiscalData.verifiedDataCheckbox); - expect(isDisabled).toEqual('false'); + expect(isDisabled).toBeFalsy(); }); it('should now edit the social name', async() => { @@ -174,13 +165,10 @@ describe('Client lock verified data path', () => { }); it('should confirm verified data button is enabled once again', async() => { - const isChecked = await nightmare - .waitForClassPresent(selectors.clientFiscalData.verifiedDataCheckbox, 'md-checked') - .evaluate(selector => { - return document.querySelector(selector).getAttribute('disabled'); - }, selectors.clientFiscalData.verifiedDataCheckbox); + const isDisabled = await nightmare + .isDisabled(selectors.clientFiscalData.verifiedDataCheckbox); - expect(isChecked).toBeTruthy(); + expect(isDisabled).toBeTruthy(); }); it('should confirm the form is enabled for salesPerson', async() => { diff --git a/front/core/components/check/check.html b/front/core/components/check/check.html index 4ca9f83a5..57d2e407f 100644 --- a/front/core/components/check/check.html +++ b/front/core/components/check/check.html @@ -1,11 +1,10 @@ - - {{::$ctrl.label}} - +
+
+
+
+ + {{::$ctrl.label}} + diff --git a/front/core/components/check/check.js b/front/core/components/check/check.js index 57239b40c..24f98993b 100644 --- a/front/core/components/check/check.js +++ b/front/core/components/check/check.js @@ -3,47 +3,71 @@ import Component from '../../lib/component'; import './style.scss'; export default class Controller extends Component { - constructor($element, $scope, $attrs) { - super($element, $scope); + constructor($element, $, $attrs) { + super($element, $); this.hasInfo = Boolean($attrs.info); this.info = $attrs.info || null; - } - get model() { - return this._model; - } + let element = this.element; + element.addEventListener('click', e => this.onClick(e)); + element.addEventListener('keydown', e => this.onClick(e)); + element.tabIndex = 0; - set model(value) { - if (value === null) return; - - if (this.model === false && this.tripleState) - value = null; - - this.emit('change', {value}); - - this._model = value; + this.check = element.querySelector('.check'); } set field(value) { - if (typeof value === 'number') - value = Boolean(value); - - this._model = value; + this._field = value; + let isIndeterminate = Boolean(value == null && this.tripleState); + this.check.classList.toggle('checked', Boolean(value)); + this.check.classList.toggle('indeterminate', isIndeterminate); } get field() { - return this._model; + return this._field; } - get isIntermediate() { - if (this.intermediate || (this.tripleState && (this.model === null || this.model === undefined))) - return true; - - return false; + set disabled(value) { + this.element.tabIndex = !value ? 0 : -1; + this.check.classList.toggle('disabled', Boolean(value)); + this._disabled = value; } - get isChecked() { - return this.checked || this.model === true; + get disabled() { + return this._disabled; + } + + set tripleState(value) { + this._tripleState = value; + this.field = this.field; + } + + get tripleState() { + return this._tripleState; + } + + onClick(event) { + event.preventDefault(); + + if (this.disabled) return; + + if (this.tripleState) { + if (this.field == null) + this.field = false; + else if (!this.field) + this.field = true; + else + this.field = null; + } else + this.field = !this.field; + + this.$.$applyAsync(); + this.element.dispatchEvent(new Event('change')); + } + + onKeydown(event) { + if (event.code == 'Space') + this.onClick(event); } } diff --git a/front/core/components/check/check.spec.js b/front/core/components/check/check.spec.js index ef0bf8e1f..89517b642 100644 --- a/front/core/components/check/check.spec.js +++ b/front/core/components/check/check.spec.js @@ -1,6 +1,7 @@ describe('Component vnCheck', () => { - let controller; let $element; + let $ctrl; + let element; beforeEach(angular.mock.module('vnCore', $translateProvider => { $translateProvider.translations('en', {}); @@ -8,59 +9,56 @@ describe('Component vnCheck', () => { beforeEach(inject(($compile, $rootScope) => { $element = $compile(` { $element.remove(); }); - describe('model() setter', () => { - it(`should set model value`, () => { - controller.model = true; - - expect(controller.model).toEqual(true); - }); - - it(`should set model value to null if current model value is false and is a triple-state checkbox`, () => { - controller._model = false; - controller.tripleState = true; - controller.model = true; - - expect(controller.model).toEqual(null); - }); - }); - describe('field() setter', () => { it(`should set model value`, () => { - controller.field = true; + $ctrl.field = true; - expect(controller.field).toEqual(true); + expect($ctrl.field).toEqual(true); }); - it(`should set model value and convert numerical values to boolean values`, () => { - controller.field = 1; + it(`should uncheck value and change to true when clicked`, () => { + $ctrl.field = false; + element.click(); - expect(controller.field).toEqual(true); - }); - }); - - describe('isIntermediate() getter', () => { - it(`should return true if intermediate property is truthy`, () => { - controller.intermediate = true; - - let result = controller.isIntermediate; - - expect(result).toEqual(true); + expect($ctrl.field).toEqual(true); }); - it(`should return true if is a triple-state checkbox and has null or undefined value`, () => { - controller.tripleState = true; - controller.model = null; + it(`should check value and change to false when clicked`, () => { + $ctrl.field = true; + element.click(); - let result = controller.isIntermediate; + expect($ctrl.field).toEqual(false); + }); - expect(result).toEqual(true); + it(`should check value and change to null when clicked`, () => { + $ctrl.field = true; + $ctrl.tripleState = true; + element.click(); + + expect($ctrl.field).toEqual(null); + }); + + it(`should set value to null and change to false when clicked`, () => { + $ctrl.field = null; + $ctrl.tripleState = true; + element.click(); + + expect($ctrl.field).toEqual(false); + }); + + it(`should cast value to boolean when clicked`, () => { + $ctrl.field = 0; + element.click(); + + expect($ctrl.field).toEqual(true); }); }); }); diff --git a/front/core/components/check/style.scss b/front/core/components/check/style.scss index 2437791cf..c79ec66a9 100644 --- a/front/core/components/check/style.scss +++ b/front/core/components/check/style.scss @@ -2,24 +2,77 @@ vn-check { position: relative; + cursor: pointer; + display: inline-block; + outline: none; + & > .check { + position: relative; + box-sizing: border-box; + display: inline-block; + vertical-align: middle; + border-radius: 2px; + width: 20px; + height: 20px; + transition: background 250ms; + border: 2px solid #666; + margin: 3px; + margin-right: .4em; + + & > .mark { + box-sizing: border-box; + position: absolute; + display: block; + border-width: 0; + } + &.checked { + background-color: $color-main; + border-color: $color-main; + + & > .focus { + background-color: rgba($color-main, .15); + } + } + &.checked > .mark { + top: 0; + left: 4px; + transform: rotate(45deg); + width: 7px; + height: 13px; + border: 2px solid $color-font-dark; + border-top: 0; + border-left: 0; + } + &.indeterminate > .mark { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 12px; + height: 2px; + border-bottom: 2px solid #666; + } + } + & > .check > .focus { + position: absolute; + top: 50%; + left: 50%; + height: 38px; + width: 38px; + margin-top: -19px; + margin-left: -19px; + border-radius: 50%; + transform: scale3d(0, 0, 0); + transition: background 250ms; + transition: transform 250ms; + background-color: rgba(0, 0, 0, .1); + } + &:focus > .check:not(.disabled) > .focus { + transform: scale3d(1, 1, 1); + } & > i { padding-left: 5px; position: absolute; color: $color-font-secondary; - font-size: 20px !important; - cursor: help - } - - md-checkbox.md-checked .md-icon { - background-color: $color-main; - } - - md-checkbox { - margin-bottom: 0.8em; - - .md-label:empty { - margin: 0 - } + font-size: 20px; } } diff --git a/front/core/components/icon-button/style.scss b/front/core/components/icon-button/style.scss index a93096840..be6d62581 100644 --- a/front/core/components/icon-button/style.scss +++ b/front/core/components/icon-button/style.scss @@ -13,6 +13,7 @@ vn-icon-button { color: inherit; border: 0; padding: 0; + font-size: inherit; &:hover { background-color: initial; diff --git a/front/core/vendor.js b/front/core/vendor.js index 629c4de4e..44d041ebe 100644 --- a/front/core/vendor.js +++ b/front/core/vendor.js @@ -7,8 +7,10 @@ import 'angular-translate-loader-partial'; import '@uirouter/angularjs'; import 'mg-crud'; import 'oclazyload'; +/* import 'angular-material'; import 'angular-material/modules/scss/angular-material.scss'; +*/ import 'angular-moment'; export const ngDeps = [ @@ -16,7 +18,7 @@ export const ngDeps = [ 'ui.router', 'mgCrud', 'oc.lazyLoad', - 'ngMaterial', + // 'ngMaterial', 'angularMoment' ]; diff --git a/front/package-lock.json b/front/package-lock.json index 2fc1af6d2..15ac9e49c 100644 --- a/front/package-lock.json +++ b/front/package-lock.json @@ -41,11 +41,6 @@ "resolved": "https://registry.npmjs.org/angular-aria/-/angular-aria-1.7.7.tgz", "integrity": "sha512-Jju0VudfKVp+6FUtfzpDBuOJE8+8cGPSM10nRicXvJRX/Nx/YOu38f2aL3HQwThrRK+3E5jfo7yRwVNYoSmSxg==" }, - "angular-material": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/angular-material/-/angular-material-1.1.12.tgz", - "integrity": "sha512-hvYgVSAxmXy+ozm+FcdGrTrBKm/TLubCgJ8xZR3LNYYmLfsIfzh4Eyk87inmTCXS02KYL0EX2dUeiVmanHlIaQ==" - }, "angular-moment": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/angular-moment/-/angular-moment-1.3.0.tgz", @@ -152,9 +147,9 @@ } }, "npm": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-6.9.0.tgz", - "integrity": "sha512-91V+zB5hDxO+Jyp2sUKS7juHlIM95dGQxTeQtmZI1nAI/7kjWXFipPrtwwKjhyKmV4GsS2LzJhrxRjGWsU9z/w==", + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.11.3.tgz", + "integrity": "sha512-K2h+MPzZiY39Xf6eHEdECe/LKoJXam4UCflz5kIxoskN3LQFeYs5fqBGT5i4TtM/aBk+86Mcf+jgXs/WuWAutQ==", "requires": { "JSONStream": "^1.3.5", "abbrev": "~1.1.1", @@ -162,16 +157,16 @@ "ansistyles": "~0.1.3", "aproba": "^2.0.0", "archy": "~1.0.0", - "bin-links": "^1.1.2", - "bluebird": "^3.5.3", + "bin-links": "^1.1.3", + "bluebird": "^3.5.5", "byte-size": "^5.0.1", - "cacache": "^11.3.2", - "call-limit": "~1.1.0", - "chownr": "^1.1.1", + "cacache": "^12.0.3", + "call-limit": "^1.1.1", + "chownr": "^1.1.2", "ci-info": "^2.0.0", "cli-columns": "^3.1.2", "cli-table3": "^0.5.1", - "cmd-shim": "~2.0.2", + "cmd-shim": "^3.0.3", "columnify": "~1.5.4", "config-chain": "^1.1.12", "debuglog": "*", @@ -183,27 +178,28 @@ "find-npm-prefix": "^1.0.2", "fs-vacuum": "~1.2.10", "fs-write-stream-atomic": "~1.0.10", - "gentle-fs": "^2.0.1", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", + "gentle-fs": "^2.2.1", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", "has-unicode": "~2.0.1", - "hosted-git-info": "^2.7.1", + "hosted-git-info": "^2.8.2", "iferr": "^1.0.2", "imurmurhash": "*", + "infer-owner": "^1.0.4", "inflight": "~1.0.6", - "inherits": "~2.0.3", + "inherits": "^2.0.4", "ini": "^1.3.5", "init-package-json": "^1.10.3", "is-cidr": "^3.0.0", "json-parse-better-errors": "^1.0.2", "lazy-property": "~1.0.0", - "libcipm": "^3.0.3", - "libnpm": "^2.0.1", - "libnpmaccess": "*", - "libnpmhook": "^5.0.2", - "libnpmorg": "*", - "libnpmsearch": "*", - "libnpmteam": "*", + "libcipm": "^4.0.3", + "libnpm": "^3.0.1", + "libnpmaccess": "^3.0.2", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", "libnpx": "^10.2.0", "lock-verify": "^2.1.0", "lockfile": "^1.0.4", @@ -218,53 +214,53 @@ "lodash.union": "~4.6.0", "lodash.uniq": "~4.5.0", "lodash.without": "~4.4.0", - "lru-cache": "^4.1.5", + "lru-cache": "^5.1.1", "meant": "~1.0.1", "mississippi": "^3.0.0", "mkdirp": "~0.5.1", "move-concurrently": "^1.0.1", - "node-gyp": "^3.8.0", + "node-gyp": "^5.0.3", "nopt": "~4.0.1", "normalize-package-data": "^2.5.0", "npm-audit-report": "^1.3.2", "npm-cache-filename": "~1.0.2", "npm-install-checks": "~3.0.0", - "npm-lifecycle": "^2.1.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.4.1", - "npm-pick-manifest": "^2.2.3", - "npm-profile": "*", - "npm-registry-fetch": "^3.9.0", + "npm-lifecycle": "^3.1.3", + "npm-package-arg": "^6.1.1", + "npm-packlist": "^1.4.4", + "npm-pick-manifest": "^3.0.2", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", "npm-user-validate": "~1.0.0", "npmlog": "~4.1.2", "once": "~1.4.0", "opener": "^1.5.1", "osenv": "^0.1.5", - "pacote": "^9.5.0", + "pacote": "^9.5.8", "path-is-inside": "~1.0.2", "promise-inflight": "~1.0.1", "qrcode-terminal": "^0.12.0", - "query-string": "^6.2.0", + "query-string": "^6.8.2", "qw": "~1.0.1", "read": "~1.0.7", - "read-cmd-shim": "~1.0.1", + "read-cmd-shim": "^1.0.4", "read-installed": "~4.0.3", - "read-package-json": "^2.0.13", - "read-package-tree": "^5.2.2", - "readable-stream": "^3.1.1", - "readdir-scoped-modules": "*", + "read-package-json": "^2.1.0", + "read-package-tree": "^5.3.1", + "readable-stream": "^3.4.0", + "readdir-scoped-modules": "^1.1.0", "request": "^2.88.0", "retry": "^0.12.0", "rimraf": "^2.6.3", "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "sha": "~2.0.1", + "semver": "^5.7.1", + "sha": "^3.0.0", "slide": "~1.1.6", "sorted-object": "~2.0.1", "sorted-union-stream": "~2.1.3", "ssri": "^6.0.1", "stringify-package": "^1.0.0", - "tar": "^4.4.8", + "tar": "^4.4.10", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "uid-number": "0.0.6", @@ -276,8 +272,8 @@ "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "~3.0.0", "which": "^1.3.1", - "worker-farm": "^1.6.0", - "write-file-atomic": "^2.4.2" + "worker-farm": "^1.7.0", + "write-file-atomic": "^2.4.3" }, "dependencies": { "JSONStream": { @@ -293,14 +289,14 @@ "bundled": true }, "agent-base": { - "version": "4.2.1", + "version": "4.3.0", "bundled": true, "requires": { "es6-promisify": "^5.0.0" } }, "agentkeepalive": { - "version": "3.4.1", + "version": "3.5.2", "bundled": true, "requires": { "humanize-ms": "^1.2.1" @@ -420,25 +416,18 @@ } }, "bin-links": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "requires": { - "bluebird": "^3.5.0", - "cmd-shim": "^2.0.2", - "gentle-fs": "^2.0.0", - "graceful-fs": "^4.1.11", + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.0.1", + "graceful-fs": "^4.1.15", "write-file-atomic": "^2.3.0" } }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "~2.0.0" - } - }, "bluebird": { - "version": "3.5.3", + "version": "3.5.5", "bundled": true }, "boxen": { @@ -479,51 +468,28 @@ "bundled": true }, "cacache": { - "version": "11.3.2", + "version": "12.0.3", "bundled": true, "requires": { - "bluebird": "^3.5.3", + "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", + "glob": "^7.1.4", "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", + "rimraf": "^2.6.3", "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" - }, - "dependencies": { - "chownr": { - "version": "1.1.1", - "bundled": true - }, - "lru-cache": { - "version": "5.1.1", - "bundled": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "unique-filename": { - "version": "1.1.1", - "bundled": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "yallist": { - "version": "3.0.3", - "bundled": true - } } }, "call-limit": { - "version": "1.1.0", + "version": "1.1.1", "bundled": true }, "camelcase": { @@ -548,7 +514,7 @@ } }, "chownr": { - "version": "1.1.1", + "version": "1.1.2", "bundled": true }, "ci-info": { @@ -610,7 +576,7 @@ "bundled": true }, "cmd-shim": { - "version": "2.0.2", + "version": "3.0.3", "bundled": true, "requires": { "graceful-fs": "^4.1.2", @@ -756,6 +722,20 @@ "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "bundled": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "bundled": true + } } }, "crypto-random-string": { @@ -809,6 +789,13 @@ "clone": "^1.0.2" } }, + "define-properties": { + "version": "1.1.3", + "bundled": true, + "requires": { + "object-keys": "^1.0.12" + } + }, "delayed-stream": { "version": "1.0.0", "bundled": true @@ -907,6 +894,10 @@ "once": "^1.4.0" } }, + "env-paths": { + "version": "1.0.0", + "bundled": true + }, "err-code": { "version": "1.1.2", "bundled": true @@ -918,8 +909,28 @@ "prr": "~1.0.1" } }, + "es-abstract": { + "version": "1.12.0", + "bundled": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "bundled": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "es6-promise": { - "version": "4.2.6", + "version": "4.2.8", "bundled": true }, "es6-promisify": { @@ -1057,7 +1068,7 @@ } }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.6", "bundled": true, "requires": { "minipass": "^2.2.1" @@ -1112,15 +1123,9 @@ "version": "1.0.0", "bundled": true }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } + "function-bind": { + "version": "1.1.1", + "bundled": true }, "gauge": { "version": "2.7.4", @@ -1156,13 +1161,15 @@ "bundled": true }, "gentle-fs": { - "version": "2.0.1", + "version": "2.2.1", "bundled": true, "requires": { "aproba": "^1.1.2", + "chownr": "^1.1.2", "fs-vacuum": "^1.2.10", "graceful-fs": "^4.1.11", "iferr": "^0.1.5", + "infer-owner": "^1.0.4", "mkdirp": "^0.5.1", "path-is-inside": "^1.0.2", "read-cmd-shim": "^1.0.1", @@ -1198,7 +1205,7 @@ } }, "glob": { - "version": "7.1.3", + "version": "7.1.4", "bundled": true, "requires": { "fs.realpath": "^1.0.0", @@ -1240,7 +1247,7 @@ } }, "graceful-fs": { - "version": "4.1.15", + "version": "4.2.2", "bundled": true }, "har-schema": { @@ -1255,17 +1262,31 @@ "har-schema": "^2.0.0" } }, + "has": { + "version": "1.0.3", + "bundled": true, + "requires": { + "function-bind": "^1.1.1" + } + }, "has-flag": { "version": "3.0.0", "bundled": true }, + "has-symbols": { + "version": "1.0.0", + "bundled": true + }, "has-unicode": { "version": "2.0.1", "bundled": true }, "hosted-git-info": { - "version": "2.7.1", - "bundled": true + "version": "2.8.2", + "bundled": true, + "requires": { + "lru-cache": "^5.1.1" + } }, "http-cache-semantics": { "version": "3.8.1", @@ -1289,10 +1310,10 @@ } }, "https-proxy-agent": { - "version": "2.2.1", + "version": "2.2.2", "bundled": true, "requires": { - "agent-base": "^4.1.0", + "agent-base": "^4.3.0", "debug": "^3.1.0" } }, @@ -1329,6 +1350,10 @@ "version": "0.1.4", "bundled": true }, + "infer-owner": { + "version": "1.0.4", + "bundled": true + }, "inflight": { "version": "1.0.6", "bundled": true, @@ -1338,7 +1363,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true }, "ini": { @@ -1371,6 +1396,10 @@ "version": "2.1.0", "bundled": true }, + "is-callable": { + "version": "1.1.4", + "bundled": true + }, "is-ci": { "version": "1.1.0", "bundled": true, @@ -1391,6 +1420,10 @@ "cidr-regex": "^2.0.10" } }, + "is-date-object": { + "version": "1.0.1", + "bundled": true + }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, @@ -1425,6 +1458,13 @@ "version": "1.0.0", "bundled": true }, + "is-regex": { + "version": "1.0.4", + "bundled": true, + "requires": { + "has": "^1.0.1" + } + }, "is-retry-allowed": { "version": "1.1.0", "bundled": true @@ -1433,6 +1473,13 @@ "version": "1.1.0", "bundled": true }, + "is-symbol": { + "version": "1.0.2", + "bundled": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, "is-typedarray": { "version": "1.0.0", "bundled": true @@ -1503,7 +1550,7 @@ } }, "libcipm": { - "version": "3.0.3", + "version": "4.0.3", "bundled": true, "requires": { "bin-links": "^1.1.2", @@ -1514,7 +1561,7 @@ "ini": "^1.3.5", "lock-verify": "^2.0.2", "mkdirp": "^0.5.1", - "npm-lifecycle": "^2.0.3", + "npm-lifecycle": "^3.0.0", "npm-logical-tree": "^1.2.1", "npm-package-arg": "^6.1.0", "pacote": "^9.1.0", @@ -1524,45 +1571,39 @@ } }, "libnpm": { - "version": "2.0.1", + "version": "3.0.1", "bundled": true, "requires": { "bin-links": "^1.1.2", "bluebird": "^3.5.3", "find-npm-prefix": "^1.0.2", - "libnpmaccess": "^3.0.1", + "libnpmaccess": "^3.0.2", "libnpmconfig": "^1.2.1", - "libnpmhook": "^5.0.2", - "libnpmorg": "^1.0.0", - "libnpmpublish": "^1.1.0", - "libnpmsearch": "^2.0.0", - "libnpmteam": "^1.0.1", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmpublish": "^1.1.2", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", "lock-verify": "^2.0.2", - "npm-lifecycle": "^2.1.0", + "npm-lifecycle": "^3.0.0", "npm-logical-tree": "^1.2.1", "npm-package-arg": "^6.1.0", - "npm-profile": "^4.0.1", - "npm-registry-fetch": "^3.8.0", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", "npmlog": "^4.1.2", - "pacote": "^9.2.3", + "pacote": "^9.5.3", "read-package-json": "^2.0.13", "stringify-package": "^1.0.0" } }, "libnpmaccess": { - "version": "3.0.1", + "version": "3.0.2", "bundled": true, "requires": { "aproba": "^2.0.0", "get-stream": "^4.0.0", "npm-package-arg": "^6.1.0", - "npm-registry-fetch": "^3.8.0" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "bundled": true - } + "npm-registry-fetch": "^4.0.0" } }, "libnpmconfig": { @@ -1590,7 +1631,7 @@ } }, "p-limit": { - "version": "2.1.0", + "version": "2.2.0", "bundled": true, "requires": { "p-try": "^2.0.0" @@ -1604,39 +1645,33 @@ } }, "p-try": { - "version": "2.0.0", + "version": "2.2.0", "bundled": true } } }, "libnpmhook": { - "version": "5.0.2", + "version": "5.0.3", "bundled": true, "requires": { "aproba": "^2.0.0", "figgy-pudding": "^3.4.1", "get-stream": "^4.0.0", - "npm-registry-fetch": "^3.8.0" + "npm-registry-fetch": "^4.0.0" } }, "libnpmorg": { - "version": "1.0.0", + "version": "1.0.1", "bundled": true, "requires": { "aproba": "^2.0.0", "figgy-pudding": "^3.4.1", "get-stream": "^4.0.0", - "npm-registry-fetch": "^3.8.0" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "bundled": true - } + "npm-registry-fetch": "^4.0.0" } }, "libnpmpublish": { - "version": "1.1.1", + "version": "1.1.2", "bundled": true, "requires": { "aproba": "^2.0.0", @@ -1645,34 +1680,28 @@ "lodash.clonedeep": "^4.5.0", "normalize-package-data": "^2.4.0", "npm-package-arg": "^6.1.0", - "npm-registry-fetch": "^3.8.0", + "npm-registry-fetch": "^4.0.0", "semver": "^5.5.1", "ssri": "^6.0.1" } }, "libnpmsearch": { - "version": "2.0.0", + "version": "2.0.2", "bundled": true, "requires": { "figgy-pudding": "^3.5.1", "get-stream": "^4.0.0", - "npm-registry-fetch": "^3.8.0" + "npm-registry-fetch": "^4.0.0" } }, "libnpmteam": { - "version": "1.0.1", + "version": "1.0.2", "bundled": true, "requires": { "aproba": "^2.0.0", "figgy-pudding": "^3.4.1", "get-stream": "^4.0.0", - "npm-registry-fetch": "^3.8.0" - }, - "dependencies": { - "aproba": { - "version": "2.0.0", - "bundled": true - } + "npm-registry-fetch": "^4.0.0" } }, "libnpx": { @@ -1776,11 +1805,10 @@ "bundled": true }, "lru-cache": { - "version": "4.1.5", + "version": "5.1.1", "bundled": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^3.0.2" } }, "make-dir": { @@ -1791,15 +1819,15 @@ } }, "make-fetch-happen": { - "version": "4.0.1", + "version": "5.0.0", "bundled": true, "requires": { "agentkeepalive": "^3.4.1", - "cacache": "^11.0.1", + "cacache": "^12.0.0", "http-cache-semantics": "^3.8.1", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.1", - "lru-cache": "^4.1.2", + "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "node-fetch-npm": "^2.0.2", "promise-retry": "^1.1.1", @@ -1859,7 +1887,7 @@ } }, "minizlib": { - "version": "1.1.1", + "version": "1.2.1", "bundled": true, "requires": { "minipass": "^2.2.1" @@ -1924,20 +1952,19 @@ } }, "node-gyp": { - "version": "3.8.0", + "version": "5.0.3", "bundled": true, "requires": { - "fstream": "^1.0.0", + "env-paths": "^1.0.0", "glob": "^7.0.3", "graceful-fs": "^4.1.2", "mkdirp": "^0.5.0", "nopt": "2 || 3", "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", "request": "^2.87.0", "rimraf": "2", "semver": "~5.3.0", - "tar": "^2.0.0", + "tar": "^4.4.8", "which": "1" }, "dependencies": { @@ -1951,15 +1978,6 @@ "semver": { "version": "5.3.0", "bundled": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } } } }, @@ -2014,12 +2032,12 @@ } }, "npm-lifecycle": { - "version": "2.1.0", + "version": "3.1.3", "bundled": true, "requires": { "byline": "^5.0.0", - "graceful-fs": "^4.1.11", - "node-gyp": "^3.8.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", "resolve-from": "^4.0.0", "slide": "^1.1.6", "uid-number": "0.0.6", @@ -2032,17 +2050,17 @@ "bundled": true }, "npm-package-arg": { - "version": "6.1.0", + "version": "6.1.1", "bundled": true, "requires": { - "hosted-git-info": "^2.6.0", + "hosted-git-info": "^2.7.1", "osenv": "^0.1.5", - "semver": "^5.5.0", + "semver": "^5.6.0", "validate-npm-package-name": "^3.0.0" } }, "npm-packlist": { - "version": "1.4.1", + "version": "1.4.4", "bundled": true, "requires": { "ignore-walk": "^3.0.1", @@ -2050,7 +2068,7 @@ } }, "npm-pick-manifest": { - "version": "2.2.3", + "version": "3.0.2", "bundled": true, "requires": { "figgy-pudding": "^3.5.1", @@ -2059,23 +2077,23 @@ } }, "npm-profile": { - "version": "4.0.1", + "version": "4.0.2", "bundled": true, "requires": { "aproba": "^1.1.2 || 2", "figgy-pudding": "^3.4.1", - "npm-registry-fetch": "^3.8.0" + "npm-registry-fetch": "^4.0.0" } }, "npm-registry-fetch": { - "version": "3.9.0", + "version": "4.0.0", "bundled": true, "requires": { "JSONStream": "^1.3.4", "bluebird": "^3.5.1", "figgy-pudding": "^3.4.1", - "lru-cache": "^4.1.3", - "make-fetch-happen": "^4.0.1", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", "npm-package-arg": "^6.1.0" } }, @@ -2112,6 +2130,18 @@ "version": "4.1.1", "bundled": true }, + "object-keys": { + "version": "1.0.12", + "bundled": true + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "bundled": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, "once": { "version": "1.4.0", "bundled": true, @@ -2181,16 +2211,18 @@ } }, "pacote": { - "version": "9.5.0", + "version": "9.5.8", "bundled": true, "requires": { "bluebird": "^3.5.3", - "cacache": "^11.3.2", + "cacache": "^12.0.2", + "chownr": "^1.1.2", "figgy-pudding": "^3.5.1", "get-stream": "^4.1.0", "glob": "^7.1.3", + "infer-owner": "^1.0.4", "lru-cache": "^5.1.1", - "make-fetch-happen": "^4.0.1", + "make-fetch-happen": "^5.0.0", "minimatch": "^3.0.4", "minipass": "^2.3.5", "mississippi": "^3.0.0", @@ -2198,8 +2230,8 @@ "normalize-package-data": "^2.4.0", "npm-package-arg": "^6.1.0", "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^2.2.3", - "npm-registry-fetch": "^3.8.0", + "npm-pick-manifest": "^3.0.0", + "npm-registry-fetch": "^4.0.0", "osenv": "^0.1.5", "promise-inflight": "^1.0.1", "promise-retry": "^1.1.1", @@ -2208,18 +2240,11 @@ "safe-buffer": "^5.1.2", "semver": "^5.6.0", "ssri": "^6.0.1", - "tar": "^4.4.8", + "tar": "^4.4.10", "unique-filename": "^1.1.1", "which": "^1.3.1" }, "dependencies": { - "lru-cache": { - "version": "5.1.1", - "bundled": true, - "requires": { - "yallist": "^3.0.2" - } - }, "minipass": { "version": "2.3.5", "bundled": true, @@ -2227,10 +2252,6 @@ "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } - }, - "yallist": { - "version": "3.0.3", - "bundled": true } } }, @@ -2389,10 +2410,11 @@ "bundled": true }, "query-string": { - "version": "6.2.0", + "version": "6.8.2", "bundled": true, "requires": { "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", "strict-uri-encode": "^2.0.0" } }, @@ -2424,7 +2446,7 @@ } }, "read-cmd-shim": { - "version": "1.0.1", + "version": "1.0.4", "bundled": true, "requires": { "graceful-fs": "^4.1.2" @@ -2444,7 +2466,7 @@ } }, "read-package-json": { - "version": "2.0.13", + "version": "2.1.0", "bundled": true, "requires": { "glob": "^7.1.1", @@ -2455,18 +2477,16 @@ } }, "read-package-tree": { - "version": "5.2.2", + "version": "5.3.1", "bundled": true, "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "once": "^1.3.0", "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0" + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" } }, "readable-stream": { - "version": "3.1.1", + "version": "3.4.0", "bundled": true, "requires": { "inherits": "^2.0.3", @@ -2475,7 +2495,7 @@ } }, "readdir-scoped-modules": { - "version": "1.0.2", + "version": "1.1.0", "bundled": true, "requires": { "debuglog": "^1.0.1", @@ -2570,7 +2590,7 @@ "bundled": true }, "semver": { - "version": "5.6.0", + "version": "5.7.1", "bundled": true }, "semver-diff": { @@ -2585,33 +2605,10 @@ "bundled": true }, "sha": { - "version": "2.0.1", + "version": "3.0.0", "bundled": true, "requires": { - "graceful-fs": "^4.1.2", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "graceful-fs": "^4.1.2" } }, "shebang-command": { @@ -2638,23 +2635,32 @@ "bundled": true }, "smart-buffer": { - "version": "4.0.1", + "version": "4.0.2", "bundled": true }, "socks": { - "version": "2.2.0", + "version": "2.3.2", "bundled": true, "requires": { "ip": "^1.1.5", - "smart-buffer": "^4.0.1" + "smart-buffer": "4.0.2" } }, "socks-proxy-agent": { - "version": "4.0.1", + "version": "4.0.2", "bundled": true, "requires": { - "agent-base": "~4.2.0", - "socks": "~2.2.0" + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "bundled": true, + "requires": { + "es6-promisify": "^5.0.0" + } + } } }, "sorted-object": { @@ -2721,6 +2727,10 @@ "version": "3.0.3", "bundled": true }, + "split-on-first": { + "version": "1.1.0", + "bundled": true + }, "sshpk": { "version": "1.14.2", "bundled": true, @@ -2848,22 +2858,18 @@ } }, "tar": { - "version": "4.4.8", + "version": "4.4.10", "bundled": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.3.5", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "yallist": "^3.0.3" }, "dependencies": { - "chownr": { - "version": "1.1.1", - "bundled": true - }, "minipass": { "version": "2.3.5", "bundled": true, @@ -3023,6 +3029,13 @@ "version": "1.0.3", "bundled": true }, + "util-promisify": { + "version": "2.1.0", + "bundled": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, "uuid": { "version": "3.3.2", "bundled": true @@ -3095,7 +3108,7 @@ } }, "worker-farm": { - "version": "1.6.0", + "version": "1.7.0", "bundled": true, "requires": { "errno": "~0.1.7" @@ -3125,7 +3138,7 @@ "bundled": true }, "write-file-atomic": { - "version": "2.4.2", + "version": "2.4.3", "bundled": true, "requires": { "graceful-fs": "^4.1.11", @@ -3146,7 +3159,7 @@ "bundled": true }, "yallist": { - "version": "2.1.2", + "version": "3.0.3", "bundled": true }, "yargs": { @@ -3196,6 +3209,9 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/require-yaml/-/require-yaml-0.0.1.tgz", "integrity": "sha1-LhsY2RPDuqcqWk03O28Tjd0sMr0=", + "requires": { + "js-yaml": "^3.13.1" + }, "dependencies": { "js-yaml": { "version": "3.13.1", diff --git a/front/package.json b/front/package.json index 07ae364c2..bfd8edfc4 100644 --- a/front/package.json +++ b/front/package.json @@ -14,7 +14,6 @@ "angular": "^1.7.5", "angular-animate": "^1.7.7", "angular-aria": "^1.7.7", - "angular-material": "^1.1.12", "angular-moment": "^1.3.0", "angular-translate": "^2.18.1", "angular-translate-loader-partial": "^2.18.1", @@ -24,7 +23,7 @@ "material-design-lite": "^1.3.0", "mg-crud": "^1.1.2", "moment-timezone": "^0.5.25", - "npm": "^6.9.0", + "npm": "^6.11.3", "oclazyload": "^0.6.3", "require-yaml": "0.0.1", "validator": "^6.3.0" diff --git a/modules/worker/front/time-control/index.js b/modules/worker/front/time-control/index.js index 1161e7f37..a82fdc63d 100644 --- a/modules/worker/front/time-control/index.js +++ b/modules/worker/front/time-control/index.js @@ -236,7 +236,6 @@ class Controller { addTime(response) { if (response === 'ACCEPT') { - console.log('newTime', this.newTime); let data = {workerFk: this.worker.id, timed: this.newTime}; let query = `/api/WorkerTimeControls/addTime`; this.$http.post(query, data).then(() => {