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(() => {