From bc71e1628a45806ab47652dad0f825d50fe774a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Delobelle?= Date: Tue, 16 May 2017 12:27:39 +0200 Subject: [PATCH] keep eslint quiet --- kfet/static/kfet/js/history.js | 101 ++++++++++++++------ kfet/static/kfet/js/kfet.api.js | 119 ++++++++++++----------- kfet/static/kfet/js/kpsul.js | 162 +++++++++++++++++++------------- 3 files changed, 234 insertions(+), 148 deletions(-) diff --git a/kfet/static/kfet/js/history.js b/kfet/static/kfet/js/history.js index 41c2f28f..0f07f73b 100644 --- a/kfet/static/kfet/js/history.js +++ b/kfet/static/kfet/js/history.js @@ -5,28 +5,69 @@ class KHistory { static get default_options() { return { 'templates': { - 'purchase': '
', - 'specialope': '
', - 'opegroup': '
', - 'transfergroup': '
', - 'day': '
', - 'transfer': '
', + 'purchase': ` +
+ + + + + +
+ `, + 'specialope': ` +
+ + + + + +
+ `, + 'opegroup': ` +
+ + + + + +
`, + 'transfergroup': ` +
+ + + + +
+ `, + 'day': ` +
+ +
+ `, + 'transfer': ` +
+ + + + + +
`, }, - 'api_options': { - from: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss'), + 'api_options': { + from: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss'), }, }; } - + constructor(options) { var all_options = $.extend({}, this.constructor.default_options, options); this.api_options = all_options.api_options; this._$container = $('#history'); this._$nb_opes = $('#nb_opes'); - + this.data = new OperationList(); if (!all_options.no_select) @@ -35,13 +76,19 @@ class KHistory { if (!all_options.static) OperationWebSocket.add_handler(data => this.update_data(data)); - var templates = all_options.templates - if (all_options.no_trigramme) - templates['opegroup'] = - '
'; + var templates = all_options.templates; + if (all_options.no_trigramme) + templates['opegroup'] = ` +
+ + + + +
+ `; this.display = new ForestDisplay(this._$container, templates, this.data); - + this._init_events(); } @@ -76,18 +123,18 @@ class KHistory { } cancel_operations(to_cancel) { - var that = this ; + var that = this; var on_success = function() { if (that.selection) - that.selection.reset() ; + that.selection.reset(); $(that).trigger("cancel_done"); - } + }; api_with_auth({ url: Urls['kfet.kpsul.cancel_operations'](), data: to_cancel, on_success: on_success, - }) + }); } add_node(data) { @@ -96,8 +143,8 @@ class KHistory { } update_node(modelname, id, update_data) { - var updated = this.data.update(modelname, id, update_data) - if (!updated) + var updated = this.data.update(modelname, id, update_data); + if (!updated) return false; this.display.update(updated); @@ -124,11 +171,11 @@ class KHistory { options.accounts.indexOf(opegroup.account_id) < 0) return false; - if (options.checkouts && options.checkouts.length && - (opegroup.modelname == 'transfergroup' || + if (options.checkouts && options.checkouts.length && + (opegroup.modelname == 'transfergroup' || options.checkouts.indexOf(opegroup.checkout_id) < 0)) return false; - + return true; } @@ -138,7 +185,7 @@ class KHistory { for (let ope of opes) { if (ope['cancellation']) { - var update_data = { + let update_data = { 'canceled_at': ope.canceled_at, 'canceled_by': ope.canceled_by, }; @@ -153,12 +200,12 @@ class KHistory { for (let opegroup of opegroups) { if (opegroup['cancellation']) { - var update_data = { 'amount': opegroup.amount }; + let update_data = { 'amount': opegroup.amount }; this.update_node('opegroup', opegroup.id, update_data); } if (opegroup['add'] && this.is_valid(opegroup)) { - this.add_node(opegroup); + this.add_node(opegroup); } } diff --git a/kfet/static/kfet/js/kfet.api.js b/kfet/static/kfet/js/kfet.api.js index ae0d9bd1..89ea0143 100644 --- a/kfet/static/kfet/js/kfet.api.js +++ b/kfet/static/kfet/js/kfet.api.js @@ -68,7 +68,7 @@ class ModelObject { * @param {Object} [data={}] - data to store in instance */ constructor(data) { - this.from(data || {}); + this.from(data || {}); } /** @@ -210,7 +210,7 @@ class APIModelObject extends ModelObject { * @param {object} [api_options] Additional data appended to the request. */ fromAPI(api_options) { - api_options = api_options || {}; + api_options = api_options || {}; api_options['format'] = 'json'; @@ -263,8 +263,10 @@ class Account extends APIModelObject { * @see {@link Models.ModelObject.props|ModelObject.props} */ static get props() { - return ['id', 'trigramme', 'name', 'nickname', 'email', 'is_cof', - 'promo', 'balance', 'is_frozen', 'departement']; + return [ + 'id', 'trigramme', 'name', 'nickname', 'email', 'is_cof', + 'promo', 'balance', 'is_frozen', 'departement' + ]; } /** @@ -280,7 +282,7 @@ class Account extends APIModelObject { 'is_cof' : false, 'promo': '', 'balance': 0, 'is_frozen': false, 'departement': '', }; - }; + } /** * @default django-js-reverse('kfet.account') @@ -292,7 +294,7 @@ class Account extends APIModelObject { var url = Urls['kfet.account.create'](); if (trigramme) { var trigramme_url = encodeURIComponent(trigramme); - url += `?trigramme=${trigramme_url}` + url += `?trigramme=${trigramme_url}`; } return url; } @@ -494,7 +496,7 @@ class ArticleCategory extends ModelObject { * @see {@link Models.ModelObject.compare|ModelObject.compare} */ static compare(a, b) { - return a.name.localeCompare(b.name) ; + return a.name.localeCompare(b.name); } } @@ -549,7 +551,7 @@ class Article extends ModelObject { set price(v) { this._price = floatCheck(v); } is_low_stock(nb) { - return (-5 <= this.stock - nb && this.stock - nb <= 5); + return (-5 <= this.stock - nb && this.stock - nb <= 5); } } @@ -565,7 +567,7 @@ class Day extends ModelObject { * @default ['id', 'date'] * @see {@link Models.ModelObject.props|ModelObject.props} */ - static get props() { return ['id', 'at', 'opegroups'] } + static get props() { return ['id', 'at', 'opegroups']; } /** * Default values for Day model instances @@ -626,13 +628,15 @@ class HistoryGroup extends ModelObject { /** * Default values for HistoryGroup model instances - * @default { 'id': 0, 'at': moment(), 'comment': '', + * @default { 'id': 0, 'at': moment(), 'comment': '', 'valid_by': '' } * @see {@link Models.ModelObject.default_data|ModelObject.default_data} */ static get default_data() { - return {'id': 0, 'at': moment(), 'comment': '', - 'valid_by': '', 'day': new Day()}; + return { + 'id': 0, 'at': moment(), 'comment': '', + 'valid_by': '', 'day': new Day() + }; } /** @@ -660,7 +664,7 @@ class OperationGroup extends HistoryGroup { /** * Properties associated with an opegroup. - * @default {@link Models.HistoryGroup.props|HistoryGroup.props} + + * @default {@link Models.HistoryGroup.props|HistoryGroup.props} + * ['amount', 'is_cof', 'trigramme'] * @see {@link Models.ModelObject.props|ModelObject.props} */ @@ -670,14 +674,14 @@ class OperationGroup extends HistoryGroup { /** * Default values for OperationGroup instances. - * @default {@link Models.HistoryGroup.default_data|HistoryGroup.default_data} + + * @default {@link Models.HistoryGroup.default_data|HistoryGroup.default_data} + * {'amount': 0, 'is_cof': false, 'trigramme': ''} * @see {@link Models.ModelObject.default_data|ModelObject.default_data} */ static get default_data() { - return $.extend({}, HistoryGroup.default_data, - {'amount': 0, 'is_cof': false, 'trigramme': '', - 'opes': []}); + return $.extend({}, HistoryGroup.default_data, { + 'amount': 0, 'is_cof': false, 'trigramme': '', 'opes': [] + }); } /** @@ -704,16 +708,15 @@ class OperationGroup extends HistoryGroup { * @memberof Models */ class TransferGroup extends HistoryGroup { - + /** * Default values for OperationGroup instances. - * @default {@link Models.HistoryGroup.default_data|HistoryGroup.default_data} + + * @default {@link Models.HistoryGroup.default_data|HistoryGroup.default_data} + * {'transfers': []} * @see {@link Models.ModelObject.default_data|ModelObject.default_data} */ static get default_data() { - return $.extend({}, HistoryGroup.default_data, - {'transfers': []}); + return $.extend({}, HistoryGroup.default_data, {'transfers': []}); } /** @@ -753,8 +756,10 @@ class Operation extends ModelObject { * @see {@link Models.ModelObject.default_data|ModelObject.default_data} */ static get default_data() { - return {'id': '', 'amount': 0, 'canceled_at': undefined, 'canceled_by': '', - 'group': new HistoryGroup()}; + return { + 'id': '', 'amount': 0, 'canceled_at': undefined, 'canceled_by': '', + 'group': new HistoryGroup() + }; } get amount() { return this._amount; } @@ -762,7 +767,7 @@ class Operation extends ModelObject { get canceled_at() { return this._canceled_at; } set canceled_at(v) { - if (v) + if (v) this._canceled_at = dateUTCToParis(v); else this._canceled_at = undefined; @@ -778,14 +783,14 @@ class Purchase extends Operation { /** * Additional properties for purchases. - * @default {@link Models.Operation.props|Operation.props} + ['article_name', 'article_nb', + * @default {@link Models.Operation.props|Operation.props} + ['article_name', 'article_nb', * 'addcost_amount', 'addcost_for'] * @see {@link Models.ModelObject.props|ModelObject.props} */ static get props() { return Operation.props.concat( - ['article_name', 'article_nb', 'addcost_amount', 'addcost_for'] - ); + ['article_name', 'article_nb', 'addcost_amount', 'addcost_for'] + ); } /** @@ -960,7 +965,7 @@ class ModelForest { * @param {number} direction */ get_or_create(modelname, data, direction) { - var struct = this.constructor.structure ; + var struct = this.constructor.structure; var struct_data = struct[modelname]; var model = struct_data.model; @@ -972,7 +977,7 @@ class ModelForest { var node; if (data instanceof ModelObject) node = data; - else + else node = new model(data); if (direction <= 0) { @@ -985,7 +990,7 @@ class ModelForest { var parent_modelname, parent_data; // If index, we create it if (struct_data.index) { - var new_parent = {} + var new_parent = {}; for (let key of struct_data.index.fields) { new_parent[key] = data[key]; } @@ -1002,13 +1007,13 @@ class ModelForest { parent_modelname = related.modelname; } else { - parent_data = data.parent.content ; - parent_modelname = data.parent.modelname ; + parent_data = data.parent.content; + parent_modelname = data.parent.modelname; } - var parent = this.get_or_create(parent_modelname, parent_data, -1); + var parent = this.get_or_create(parent_modelname, parent_data, -1); var parent_childname = struct[parent_modelname].children; - node[parent_name] = parent ; + node[parent_name] = parent; parent[parent_childname].push(node); } @@ -1024,7 +1029,7 @@ class ModelForest { } } - return node ; + return node; } /** @@ -1034,7 +1039,7 @@ class ModelForest { from(data) { this.roots = []; if (data.objects) { - this.related = data.related + this.related = data.related; for (let modelname in data.objects) { for (let obj_data of data.objects[modelname]) this.get_or_create(modelname, obj_data, 0); @@ -1077,7 +1082,7 @@ class ModelForest { for (let root of this.roots) if (recurse(root)) - return ; + return; } /** @@ -1090,7 +1095,7 @@ class ModelForest { function callback(node) { if (node.id == id) { - result = node ; + result = node; return true; } } @@ -1101,13 +1106,13 @@ class ModelForest { } update(modelname, id, update_data) { - var updated = null ; + var updated = null; function callback(node) { if (node.id == id) { node.update(update_data); - updated = node ; - return true ; + updated = node; + return true; } } @@ -1174,7 +1179,7 @@ class ArticleList extends APIModelForest { 'children': 'articles', }, }; - + } /** @@ -1215,7 +1220,7 @@ class OperationList extends APIModelForest { }, 'transfergroup': { 'model': TransferGroup, - 'parent': 'day', + 'parent': 'day', 'children': 'transfers', 'index': { 'modelname': 'day', @@ -1268,7 +1273,7 @@ class OperationList extends APIModelForest { class ForestDisplay { constructor($container, templates, data) { - this._templates = templates ; + this._templates = templates; this._$container = $container; this.data = data || new ModelForest(); } @@ -1286,7 +1291,7 @@ class ForestDisplay { var struct_data = this.data.constructor.structure[modelname]; var template = this._templates[modelname]; - var options = options || {} ; + options = options || {}; var $container = $('
'); $container.attr('id', modelname+'-'+node.id); @@ -1322,7 +1327,7 @@ class ForestDisplay { */ add(node, options) { var struct = this.data.constructor.structure; - var existing = this.data.get_parent(node) ; + var existing = this.data.get_parent(node); var first_missing = node; while (existing && !(this._$container.find('#'+existing.modelname+'-'+existing.id))) { @@ -1345,7 +1350,7 @@ class ForestDisplay { * @param {Object} [options] Options for element render method */ render(options) { - var forest = this.data ; + var forest = this.data; if (forest.is_empty()) return; @@ -1367,7 +1372,7 @@ class ForestDisplay { * @param {Object} data */ update(data) { - var modelname = data.constructor.verbose_name ; + var modelname = data.constructor.verbose_name; var $new_elt = data.display($(this._templates[modelname]), {}); var $to_replace = this._$container.find('#'+modelname+'-'+data.id+'>:first-child'); @@ -1449,8 +1454,8 @@ class Formatter { * attributes names for container (default: ''). */ static render(object, $container, options) { - options.props = options.props || []; - options.attrs = options.attrs || []; + options.props = options.props || []; + options.attrs = options.attrs || []; var props = options.override_props ? options.props : this.props.concat(options.props); var attrs = options.override_attrs ? options.attrs : this.attrs.concat(options.attrs); @@ -1708,7 +1713,7 @@ class HistoryGroupFormatter extends Formatter { * @extends Formatters.HistoryGroupFormatter */ class TransferGroupFormatter extends HistoryGroupFormatter { - + /** * Properties renderable to html. * @default {@link Models.TransferGroup.props} + ['infos', 'time'] @@ -1753,7 +1758,7 @@ class OpegroupFormatter extends HistoryGroupFormatter { * @memberof Formatters */ class DayFormatter extends Formatter { - + /** * Properties renderable to html. * @default {@link Models.Day.props} @@ -1801,18 +1806,18 @@ class OperationFormatter extends Formatter { static prop_canceled(a) { if (a.canceled_at) { var cancel = 'Annulé'; - if (a.canceled_by) + if (a.canceled_by) cancel += ' par '+a.canceled_by; cancel += ' le '+a.canceled_at.format('DD/MM/YY à HH:mm:ss'); - return cancel ; + return cancel; } else { return ''; } } static attr_canceled(a) { - return a.canceled_at ? 'true' : 'false' ; + return a.canceled_at ? 'true' : 'false'; } } @@ -1852,7 +1857,7 @@ class PurchaseFormatter extends OperationFormatter { * @memberof Formatters */ class SpecialOpeFormatter extends OperationFormatter { - + /** * a.amount with two decimal places. */ @@ -1861,7 +1866,7 @@ class SpecialOpeFormatter extends OperationFormatter { } static prop_infos2(a) { - return SpecialOperation.verbose_types[a.type] || '' ; + return SpecialOperation.verbose_types[a.type] || ''; } } diff --git a/kfet/static/kfet/js/kpsul.js b/kfet/static/kfet/js/kpsul.js index e6fbd0c9..9e14f709 100644 --- a/kfet/static/kfet/js/kpsul.js +++ b/kfet/static/kfet/js/kpsul.js @@ -13,7 +13,7 @@ class KPsulManager { this.checkout_manager = new CheckoutManager(this); this.article_manager = new ArticleManager(this); this.history = new KHistory({ - api_options: {'opesonly': true}, + api_options: {'opesonly': true}, }); this._init_events(); @@ -30,6 +30,8 @@ class KPsulManager { this.article_manager.reset_data(); this.history.fetch(); } + + return this; } focus() { @@ -44,11 +46,7 @@ class KPsulManager { } _init_events() { - var that = this ; - $(this.history).on("cancel_done", function(e) { - that.reset(true); - that.focus(); - }); + $(this.history).on("cancel_done", () => this.reset(true).focus()); } } @@ -66,10 +64,22 @@ class AccountManager { // buttons: search, read or create this._$buttons_container = this._$container.find('.buttons'); this._buttons_templates = { - create: template``, - read: template``, - search: template``, - } + create: template` + + + + `, + read: template` + + + + `, + search: template` + + `, + }; } @@ -92,13 +102,13 @@ class AccountManager { if (this.is_empty()) { var trigramme = this.selection.get(); if (trigramme.isValidTri()) { - var url = Account.url_create(trigramme); + let url = Account.url_create(trigramme); buttons = this._buttons_templates['create']({url: url}); } else { /* trigramme input is empty or invalid */ buttons = this._buttons_templates['search'](); } } else { /* an account is loaded */ - var url = this.account.url_read; + let url = this.account.url_read; buttons = this._buttons_templates['read']({url: url}); } @@ -198,7 +208,10 @@ class AccountSearch { constructor(manager) { this.manager = manager; - this._content = '
' ; + this._content = ` + +
+ `; this._input = '#search_autocomplete'; this._results_container = '#account_results'; @@ -252,14 +265,15 @@ class AccountSearch { .on('keydown', function(e) { if (e.which == 70 && e.ctrlKey) { that.open(); - e.preventDefault() ; + e.preventDefault(); } }); } _init_inner_events() { this._$input.bind('selectChoice', - (e, choice, autocomplete) => this._on_select(e, choice, autocomplete)); + (e, choice, autocomplete) => this._on_select(e, choice, autocomplete) + ); return this; } @@ -291,9 +305,17 @@ class CheckoutManager { this._$buttons_container = this._$container.find('.buttons'); this._buttons_templates = { - read: template``, - statement_create: template``, - } + read: template` + + + + `, + statement_create: template` + + + + `, + }; } update(id) { @@ -341,7 +363,7 @@ class CheckoutManager { this._$laststatement_container.hide(); } else { this.laststatement.display(this._$laststatement_container, { - 'prefix_prop': this.laststatement_display_prefix + 'prefix_prop': this.laststatement_display_prefix }); this._$laststatement_container.show(); } @@ -391,10 +413,12 @@ class CheckoutSelection { this._init_events(); - this.choices = this._$input.find('option[value!=""]').toArray() - .map(function(opt) { - return parseInt($(opt).attr('value')); - }); + this.choices = + this._$input.find('option[value!=""]') + .toArray() + .map(function(opt) { + return parseInt($(opt).attr('value')); + }); } _init_events() { @@ -425,17 +449,27 @@ class ArticleManager { this._env = env; // Global K-Psul Manager this._$container = $('#articles_data'); - this._$input = $('#article_autocomplete'); + this._$input = $('#article_autocomplete'); this._$nb = $('#article_number'); this._$stock = $('#article_stock'); - this.selected = new Article() ; - this.data = new ArticleList() ; + this.selected = new Article(); + this.data = new ArticleList(); var $container = $('#articles_data'); var templates = { - 'category': '
', - 'article' : '
' - } ; + category: ` +
+ +
+ `, + article: ` +
+ + + +
+ `, + }; this.display = new ForestDisplay($container, templates, this.data); this.autocomplete = new ArticleAutocomplete(this, $container); @@ -444,7 +478,7 @@ class ArticleManager { } get nb() { - return this._$nb.val() ; + return this._$nb.val(); } display_list() { @@ -452,7 +486,7 @@ class ArticleManager { } validate(article) { - this.selected.from(article) ; + this.selected.from(article); this._$input.val(article.name); this._$nb.val('1'); this._$stock.text('/'+article.stock); @@ -460,7 +494,7 @@ class ArticleManager { } unset() { - this.selected.clear(); + this.selected.clear(); } is_empty() { @@ -485,11 +519,11 @@ class ArticleManager { } reset() { - this.unset() ; - this._$stock.text(''); - this._$nb.val(''); - this._$input.val(''); - this.autocomplete.showAll() ; + this.unset(); + this._$stock.text(''); + this._$nb.val(''); + this._$input.val(''); + this.autocomplete.showAll(); } _init_events() { @@ -515,20 +549,20 @@ class ArticleManager { this._$nb.on('keydown', function(e) { if (e.keyCode == 13 && that.constructor.check_nb(that.nb) && !that.is_empty()) { - kpsul._env.addPurchase(that.selected, that.nb); - that.reset(); - that.focus(); + kpsul._env.addPurchase(that.selected, that.nb); + that.reset(); + that.focus(); } if (normalKeys.test(e.keyCode) || arrowKeys.test(e.keyCode) || e.ctrlKey) { - if (e.ctrlKey && e.charCode == 65) - that._$nb.val(''); - return true ; + if (e.ctrlKey && e.charCode == 65) + that._$nb.val(''); + return true; } if (that.constructor.check_nb(that.nb+e.key)) return true; - + return false; }); @@ -536,7 +570,7 @@ class ArticleManager { //Note : this function may not be needed after the whole rework get_article(id) { - return this.data.find('article', id) ; + return this.data.find('article', id); } focus() { @@ -549,7 +583,7 @@ class ArticleManager { } static check_nb(nb) { - return /^[0-9]+$/.test(nb) && nb > 0 && nb <= 24 ; + return /^[0-9]+$/.test(nb) && nb > 0 && nb <= 24; } } @@ -557,15 +591,15 @@ class ArticleAutocomplete { constructor(article_manager, $container) { this.manager = article_manager; - this._$container = $container ; + this._$container = $container; this._$input = $('#article_autocomplete'); - this.showAll() ; + this.showAll(); this._init_events(); } _init_events() { - var that = this ; + var that = this; // 8:Backspace|9:Tab|13:Enter|46:DEL|112-117:F1-6|119-123:F8-F12 var normalKeys = /^(8|9|13|46|112|113|114|115|116|117|119|120|121|122|123)$/; @@ -573,17 +607,17 @@ class ArticleAutocomplete { this._$input .on('keydown', function(e) { - var text = that._$input.val() ; + var text = that._$input.val(); if (normalKeys.test(e.keyCode) || arrowKeys.test(e.keyCode) || e.ctrlKey) { // For the backspace key, we suppose the cursor is at the very end if(e.keyCode == 8) { that.update(text.substring(0, text.length-1), true); } - return true ; + return true; } that.update(text+e.key, false); - return false ; + return false; }); @@ -592,9 +626,9 @@ class ArticleAutocomplete { update(prefix, backspace) { this.resetMatch(); - var article_list = this.manager.data ; - var lower = prefix.toLowerCase() ; - var that = this ; + var article_list = this.manager.data; + var lower = prefix.toLowerCase(); + var that = this; article_list.traverse('article', function(article) { if (article.name.toLowerCase().startsWith(lower)) @@ -603,15 +637,15 @@ class ArticleAutocomplete { if (this.matching.length == 1) { if (!backspace) { - this.manager.validate(this.matching[0]) ; - this.showAll() ; + this.manager.validate(this.matching[0]); + this.showAll(); } else { this.manager.unset(); this.updateDisplay(); } } else if (this.matching.length > 1) { this.manager.unset(); - this.updateDisplay() ; + this.updateDisplay(); if (!backspace) this.updatePrefix(); } @@ -626,14 +660,14 @@ class ArticleAutocomplete { if (that.matching.indexOf(article) != -1) { is_active = true; that._$container.find('#article-'+article.id).show(); - } else { + } else { that._$container.find('#article-'+article.id).hide(); } } if (is_active) { that._$container.find('#category-'+category.id).show(); - } else { + } else { that._$container.find('#category-'+category.id).hide(); } }); @@ -641,15 +675,15 @@ class ArticleAutocomplete { updatePrefix() { var lower = this.matching.map(function (article) { - return article.name.toLowerCase() ; - }); + return article.name.toLowerCase(); + }); - lower.sort() ; + lower.sort(); var first = lower[0], last = lower[lower.length-1], length = first.length, i = 0; while (i < length && first.charAt(i) === last.charAt(i)) i++; - this._$input.val(first.substring(0,i)) ; + this._$input.val(first.substring(0,i)); } showAll() {