From 9047b08bdffe7b8609ac1e15919ac99c2b85cf05 Mon Sep 17 00:00:00 2001 From: booblegum Date: Wed, 16 Nov 2016 22:46:33 +0300 Subject: [PATCH] =?UTF-8?q?PR-39=20=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Компоненты загружают данные асинхронно Добавлен прелоадер компонентам Исправлены ошибки и доработан дизайн компонентов --- archilance/settings/base.py | 5 + .../lib/proekton-components/bash/watchify.sh | 2 +- .../css/editable-container.css | 4 - .../lib/proekton-components/css/fix-bags.css | 16 - assets/lib/proekton-components/css/other.css | 73 --- .../proekton-components/css/select-box.css | 76 +-- .../css/selected-container.css | 27 +- assets/lib/proekton-components/img/zoom.png | Bin 42396 -> 0 bytes .../{magnifying-glass-308581.svg => zoom.svg} | 0 assets/lib/proekton-components/img/zoom1.png | Bin 187514 -> 0 bytes .../{ => js}/build/init.js | 472 ++++++++++-------- .../{ => js}/src/NoTreeSelect.js | 12 +- .../{ => js}/src/SelectedContainer.js | 28 +- .../{ => js}/src/TreeSelect.js | 19 +- .../js/src/TreeSelectPreload.js | 82 +++ .../{ => js}/src/base/AbsBaseSelect.js | 168 +++++-- .../{ => js}/src/data/DataTree.js | 4 - .../{ => js}/src/data/NoTreeData.js | 0 assets/lib/proekton-components/js/src/init.js | 89 ++++ .../js/src/init_example.js | 59 +++ assets/lib/proekton-components/src/init.js | 144 ------ assets/projects-filter.js | 45 ++ projects/static/css/project_filter.css | 95 ++++ .../static/img/checkbox_Check.png.png | Bin .../static/img/checkbox_notCheck.png | Bin .../partials/inc-projects-filter.html | 40 +- projects/templates/project_filter.html | 7 +- projects/views.py | 4 + 28 files changed, 885 insertions(+), 586 deletions(-) delete mode 100644 assets/lib/proekton-components/css/fix-bags.css delete mode 100644 assets/lib/proekton-components/css/other.css delete mode 100644 assets/lib/proekton-components/img/zoom.png rename assets/lib/proekton-components/img/{magnifying-glass-308581.svg => zoom.svg} (100%) delete mode 100644 assets/lib/proekton-components/img/zoom1.png rename assets/lib/proekton-components/{ => js}/build/init.js (71%) rename assets/lib/proekton-components/{ => js}/src/NoTreeSelect.js (59%) rename assets/lib/proekton-components/{ => js}/src/SelectedContainer.js (83%) rename assets/lib/proekton-components/{ => js}/src/TreeSelect.js (67%) create mode 100644 assets/lib/proekton-components/js/src/TreeSelectPreload.js rename assets/lib/proekton-components/{ => js}/src/base/AbsBaseSelect.js (73%) rename assets/lib/proekton-components/{ => js}/src/data/DataTree.js (94%) rename assets/lib/proekton-components/{ => js}/src/data/NoTreeData.js (100%) create mode 100644 assets/lib/proekton-components/js/src/init.js create mode 100644 assets/lib/proekton-components/js/src/init_example.js delete mode 100644 assets/lib/proekton-components/src/init.js create mode 100644 projects/static/css/project_filter.css rename assets/lib/proekton-components/img/rect02.png => projects/static/img/checkbox_Check.png.png (100%) rename assets/lib/proekton-components/img/rect01.png => projects/static/img/checkbox_notCheck.png (100%) diff --git a/archilance/settings/base.py b/archilance/settings/base.py index 4b7de8e..bdaa9cf 100644 --- a/archilance/settings/base.py +++ b/archilance/settings/base.py @@ -57,6 +57,7 @@ LOCAL_APPS = [ 'chat', 'wallets', 'ratings', + # 'corsheaders', ] WAGTAIL = [ @@ -84,6 +85,7 @@ MIDDLEWARE_CLASSES = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'archilance.middlewares.LocaleMiddleware', + # 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', @@ -97,6 +99,9 @@ MIDDLEWARE_CLASSES = [ ] ROOT_URLCONF = 'archilance.urls' +# +# CORS_ORIGIN_ALLOW_ALL = True +# CORS_ALLOW_CREDENTIALS = True TEMPLATES = [ { diff --git a/assets/lib/proekton-components/bash/watchify.sh b/assets/lib/proekton-components/bash/watchify.sh index 299b0cc..1803fd0 100644 --- a/assets/lib/proekton-components/bash/watchify.sh +++ b/assets/lib/proekton-components/bash/watchify.sh @@ -2,4 +2,4 @@ echo "run watchify" cd .. source ~/venv/proekton/bin/activate -watchify ./src/init.js -t babelify -o ./build/init.js \ No newline at end of file +watchify ./js/src/init.js -t babelify -o ./js/build/init.js \ No newline at end of file diff --git a/assets/lib/proekton-components/css/editable-container.css b/assets/lib/proekton-components/css/editable-container.css index 8104369..f5187b6 100644 --- a/assets/lib/proekton-components/css/editable-container.css +++ b/assets/lib/proekton-components/css/editable-container.css @@ -10,7 +10,3 @@ position: relative; left: -30px; } - -.vertical-child { - margin-top: 30px; -} \ No newline at end of file diff --git a/assets/lib/proekton-components/css/fix-bags.css b/assets/lib/proekton-components/css/fix-bags.css deleted file mode 100644 index cb2449e..0000000 --- a/assets/lib/proekton-components/css/fix-bags.css +++ /dev/null @@ -1,16 +0,0 @@ -body { - font-size: 11pt; - font-family: Arial-MT-Regular, Arial, sans-serif; -} - -/*input[type="checkbox"] + span, input[type="checkbox"]:checked + span {*/ - /*all: initial;*/ - /*font-size: 9pt;*/ - /*color: #494546;*/ - /*cursor: pointer;*/ - /*font-family: Arial-MT-Regular, Arial, sans-serif;*/ -/*}*/ - -/*label {*/ - /*all: initial;*/ -/*}*/ diff --git a/assets/lib/proekton-components/css/other.css b/assets/lib/proekton-components/css/other.css deleted file mode 100644 index 771bc63..0000000 --- a/assets/lib/proekton-components/css/other.css +++ /dev/null @@ -1,73 +0,0 @@ -/*DEMO*/ -.wrapper { - background-color: #f2f2f2; - padding: 40px; - margin: 50px 30px; -} - -.form-container { - padding: 50px 45px; -} - -.separator { - margin-top: 35px; - margin-bottom: 5px; -} - -.custom-check{ - cursor: pointer; - display: inline-block -} - -.custom-check .checked{ - background: url("../img/rect01.png") no-repeat center; - background-size: 210px 51px; - width: 210px; - height: 51px; -} - -.custom-check .not-checked { - background: url("../img/rect02.png") no-repeat center; - background-size: 210px 51px; - width: 210px; - height: 51px; -} - -.titleResF1, div p.titleResF1 { - font-size: 12pt; -} - -.border:after { - background-color: #CFCFCF; - content: ""; - display: inline-block; - height: 1px; - position: relative; - vertical-align: middle; - width: 100%; -} - -.border:after { - left: 0.5em; - margin-right: -100%; -} - -#page-preloader { - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - background: #090909; - z-index: 100500; -} - -#page-preloader .spinner { - width: 32px; - height: 32px; - position: absolute; - left: 50%; - top: 50%; - background: url('../img/ajax-loader.gif') no-repeat 50% 50%; - margin: -16px 0 0 -16px; -} \ No newline at end of file diff --git a/assets/lib/proekton-components/css/select-box.css b/assets/lib/proekton-components/css/select-box.css index c87fec6..f7804d6 100644 --- a/assets/lib/proekton-components/css/select-box.css +++ b/assets/lib/proekton-components/css/select-box.css @@ -4,28 +4,16 @@ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; - /* Non-prefixed version, currently - not supported by any browser */ } -/*input[type="checkbox"]:checked + span {*/ -/*all: initial;*/ -/*font-size: 9pt;*/ -/*color: #494546;*/ -/*}*/ - .select-box-container { display: block; - /*margin-top: 40px;*/ - /*min-width: 200px;*/ } .select-box-header { font-size: 12pt; white-space: nowrap; word-wrap: break-word; - /*position: relative;*/ - /*top:10px;*/ } .select-box-header .header { @@ -35,13 +23,12 @@ overflow: hidden; word-wrap: break-word; max-width: 220px; - } .select-box-header .fa { color: #5e5e5e; position: relative; - top: -5px; + top: -3px; } .select-box-header .fa:hover { @@ -53,8 +40,6 @@ } .select-box-results, .select-box-options { - /*display: block;*/ - /*box-shadow: 0px 0px 10px #777, 0px 15px 10px #000;*/ position: absolute; z-index: 99999; opacity: 0.95; @@ -64,9 +49,11 @@ display: block; max-height: 200px; overflow-y: auto; - border-top: 1px solid #cccccc; + border: 1px solid #cccccc; + /*border-right: 1px solid #cccccc;*/ + /*border-left: 1px solid #cccccc;*/ background-color: #F2F2F2; - box-shadow: 5px 12px 10px -6px rgba(0, 0, 0, .2); + box-shadow: 12px 12px 10px -6px rgba(0, 0, 0, .2); } .select-box-results input[type=checkbox] { @@ -83,12 +70,17 @@ margin: 0; padding: 0; } +.select-box-options ul { + border-right: 1px solid #cccccc; +} + +.select-box-results ul:last-child{ + border-bottom: none; +} .select-box-results li, .select-box-options li { padding: 2px 10px; - border: 1px solid #cccccc; - /*border-right: 1px solid #cccccc;*/ - + border-bottom: 1px solid #cccccc; list-style: none; font-size: 9pt; color: #494546; @@ -107,13 +99,9 @@ border-left: 2px solid red; color: #0e0e0e; } - -/*.select-box-results span:hover{*/ -/*color: green;*/ -/*}*/ -/*.select-box-search{*/ -/*position: relative;*/ -/*}*/ +.select-box-search{ + position: relative; +} input.select-box-search { height: 51px; @@ -121,12 +109,16 @@ input.select-box-search { border: 1px solid #cccccc; outline: none; padding: 5px 40px 5px 20px; - background: url("../img/magnifying-glass-308581.svg") no-repeat right; + background: url("../img/zoom.svg") no-repeat right; background-size: 40px 40px; background-color: white; margin-bottom: -1px; } +input.select-box-search.active{ + border: 1px solid #FF0029; +} + input.select-box-search:-webkit-autofill, input.select-box-search:-webkit-autofill:hover, input.select-box-search:-webkit-autofill:focus, @@ -135,11 +127,11 @@ input.select-box-search:-webkit-autofill { /*-webkit-text-fill-color: black;*/ /*-webkit-box-shadow: 0 0 0 1000px transparent inset;*/ transition: background-color 5000s ease-in-out 0s; - /*background: white;*/ } .select-box-results .main-part { display: block; + border-right: 1px solid #cccccc; } .select-box-results .other-part { @@ -155,7 +147,6 @@ input.select-box-search:-webkit-autofill { /*???*/ .select-box-options .box-wrapper, .select-box-results { - /*padding: 0 10px;*/ min-width: 300px; max-width: 400px; } @@ -179,13 +170,32 @@ button.button-add { border-radius: 15px; /* IE 9, Safari 5, Chrome */ background-color: #FF0029; padding: 4px 15px 2px 15px; - /*border: none;*/ text-decoration: none; color: white; } .highlight { - color: red; + color: #FF0029; } +#component-preloader { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + background: #9fa4a4; + opacity: 0.2; + z-index: 100500; +} + +#component-preloader .spinner { + width: 32px; + height: 32px; + position: absolute; + left: 50%; + top: 50%; + background: url('../img/ajax-loader.gif') no-repeat 50% 50%; + margin: -16px 0 0 -16px; +} diff --git a/assets/lib/proekton-components/css/selected-container.css b/assets/lib/proekton-components/css/selected-container.css index 6c50261..776dde8 100644 --- a/assets/lib/proekton-components/css/selected-container.css +++ b/assets/lib/proekton-components/css/selected-container.css @@ -1,12 +1,9 @@ .selected-container { - /*display: inline-block;*/ - /*width: 100%;*/ min-height: 40px; padding-bottom: 20px; } .selected-container .selected-element { - /*display: inline-block;*/ padding: 5px 35px 5px 10px; margin-top: 8px; min-height: 45px; @@ -17,40 +14,32 @@ -webkit-border-radius: 10px; /* Safari 4 */ border-radius: 10px; /* IE 9, Safari 5, Chrome */ } -.horizontal .selected-element{ + +.horizontal .selected-element { display: inline-block; } -.selected-element .header,.name{ +.selected-element .header, .name { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 100%; } - -.selected-element .header{ +.selected-element .header,.name { + max-width: 300px; +} +.selected-element .header { font-size: 7pt; color: #676363; - /*white-space: nowrap;*/ - /*text-overflow: ellipsis;*/ - /*overflow: hidden;*/ - /*word-wrap: break-word;*/ - /*width: 100%;*/ } .selected-element .name { font-size: 11pt; - /*white-space: nowrap;*/ - /*text-overflow: ellipsis;*/ - /*overflow: hidden;*/ - /*width: 100%;*/ } - -.selected-element .icon-remove{ +.selected-element .icon-remove { background-image: url('../img/cross01.png'); background-size: 20px 20px; - /*display: inline-block;*/ position: absolute; right: 5px; top: 15px; diff --git a/assets/lib/proekton-components/img/zoom.png b/assets/lib/proekton-components/img/zoom.png deleted file mode 100644 index cfd0e74706b78d36c63aeef73774fd8343e965ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42396 zcmeFZXH-+$w>O-GprL8#ML{=@i&tTe!@j?JrKkJ_euoghe7zu1Qp&{=(`l}9}*7SQSCtgd8T=%V-~_{-7c zXB896uipDM9kvdMtlNynU~za60trR`i$ys>dXF9x$AA4o`=@IgNHKpOS%20_Bm-@+ z_r@cGfB&w6a$@+`ii8XdnvKMKMPC2kJ7u8z1peDD+&FiXmBlfc|F%0Ds(qchzhpik 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 NABTrqLrn9%T(Xht?A#?(Kx( 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 bF|9F>du;oGivd;${BN7CkxrJD!|DGA0!Ecq diff --git a/assets/lib/proekton-components/img/magnifying-glass-308581.svg b/assets/lib/proekton-components/img/zoom.svg similarity index 100% rename from assets/lib/proekton-components/img/magnifying-glass-308581.svg rename to assets/lib/proekton-components/img/zoom.svg diff --git a/assets/lib/proekton-components/img/zoom1.png b/assets/lib/proekton-components/img/zoom1.png deleted file mode 100644 index 873693ff8e3a9bd45d7075e9f6febae63309e1f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187514 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Ð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®PM%VGmbYv4SaSMc2 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

(TqED%*^YjLs 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

<)! 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 Jif`G4{trK%*(3k} diff --git a/assets/lib/proekton-components/build/init.js b/assets/lib/proekton-components/js/build/init.js similarity index 71% rename from assets/lib/proekton-components/build/init.js rename to assets/lib/proekton-components/js/build/init.js index 131b7a0..0e7f01b 100644 --- a/assets/lib/proekton-components/build/init.js +++ b/assets/lib/proekton-components/js/build/init.js @@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", { var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; + var _AbsBaseSelect2 = require('./base/AbsBaseSelect'); var _AbsBaseSelect3 = _interopRequireDefault(_AbsBaseSelect2); @@ -26,19 +28,28 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var NoTreeSelect = function (_AbsBaseSelect) { _inherits(NoTreeSelect, _AbsBaseSelect); - function NoTreeSelect(_ref) { - var $container = _ref.$container, - data = _ref.data; + function NoTreeSelect($container, _ref) { + var url = _ref.url, + obj = _ref.obj, + _ref$visible = _ref.visible, + visible = _ref$visible === undefined ? true : _ref$visible; _classCallCheck(this, NoTreeSelect); - var _this = _possibleConstructorReturn(this, (NoTreeSelect.__proto__ || Object.getPrototypeOf(NoTreeSelect)).call(this, { $container: $container, data: new _NoTreeData2.default(data) })); - - _this.$buttonAddOptions.hide(); - return _this; + //TODO: сделать автоматическую передачу всех параметров родителю + return _possibleConstructorReturn(this, (NoTreeSelect.__proto__ || Object.getPrototypeOf(NoTreeSelect)).call(this, $container, { url: url, obj: obj, visible: visible })); } _createClass(NoTreeSelect, [{ + key: '_buildComponents', + value: function _buildComponents(data) { + _get(NoTreeSelect.prototype.__proto__ || Object.getPrototypeOf(NoTreeSelect.prototype), '_buildComponents', this).call(this, data); + this.dataTree = this.dataTree || new _NoTreeData2.default(data.results); + this.$buttonAddOptions.hide(); + this._fillOptionsData(); + this._bindEvents(); + } + }, { key: '_onclickOptionsElement', value: function _onclickOptionsElement(e) { this.selectedEl.id = $(e.target).data("id"); @@ -92,17 +103,25 @@ var tmpl_selectedElement = function tmpl_selectedElement(header, name, id) { }; var SelectedContainer = function () { - function SelectedContainer($container, data) { - var noTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + function SelectedContainer($container, _ref) { + var _this = this; + + var obj = _ref.obj, + _ref$noTree = _ref.noTree, + noTree = _ref$noTree === undefined ? false : _ref$noTree; _classCallCheck(this, SelectedContainer); // TODO: rename variables to camelCase this.$self = $container; this.elements_id = []; // [spec_id, spec_id, ...] - this.dataTree = noTree ? new _NoTreeData2.default(data) : new _DataTree2.default(data); - this.$input = this.$self.find('input[type="hidden"]'); - this.restoreElements(); + var self = this; + + obj.dataPromise.then(function (data) { + _this.dataTree = noTree ? new _NoTreeData2.default(data.results) : new _DataTree2.default(data.results); + _this.$input = _this.$self.find('input[type="hidden"]'); + _this.restoreElements(); + }).catch(self._onLoadDataError.bind(self)); } _createClass(SelectedContainer, [{ @@ -113,7 +132,6 @@ var SelectedContainer = function () { var data = this.$input.val().split(',').filter(function (el) { return el; }); - console.log("restore data = ", data); this.elements_id = []; data.forEach(function (el) { return self.add(el); @@ -129,6 +147,11 @@ var SelectedContainer = function () { } this.$self.find('span[data-id=\'' + spec_id + '\']').parents('.selected-element').remove(); } + }, { + key: '_onLoadDataError', + value: function _onLoadDataError(error) { + console.log("Error loading data -->", error); + } }, { key: 'remove', value: function remove(e) { @@ -147,10 +170,8 @@ var SelectedContainer = function () { return self.dataTree.isChild(el, id); }); - // console.log(has_already); if (has_already.length || this.elements_id.indexOf(Number(id)) != -1) { //TODO: do popup messages - console.log("Not actually"); return; } @@ -163,9 +184,6 @@ var SelectedContainer = function () { }); var header = SelectedContainer.getHeader(this.dataTree.getSpecChain(id), "", max_len); - console.log("id = ", id); - console.log("chain = ", this.dataTree.getSpecChain(id)); - console.log("header = ", header); var name = this.dataTree.getElementById(id).name; this.elements_id.push(id); if (this.$input) this.$input.val(this.elements_id.join(',')); @@ -231,15 +249,18 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var TreeSelect = function (_AbsBaseSelect) { _inherits(TreeSelect, _AbsBaseSelect); - function TreeSelect(_ref) { - var $container = _ref.$container, - data = _ref.data, + function TreeSelect($container, _ref) { + var url = _ref.url, + obj = _ref.obj, _ref$hasEditableConta = _ref.hasEditableContainer, - hasEditableContainer = _ref$hasEditableConta === undefined ? false : _ref$hasEditableConta; + hasEditableContainer = _ref$hasEditableConta === undefined ? false : _ref$hasEditableConta, + _ref$visible = _ref.visible, + visible = _ref$visible === undefined ? hasEditableContainer : _ref$visible; _classCallCheck(this, TreeSelect); - return _possibleConstructorReturn(this, (TreeSelect.__proto__ || Object.getPrototypeOf(TreeSelect)).call(this, { $container: $container, data: new _DataTree2.default(data), hasEditableContainer: hasEditableContainer })); + //TODO: сделать автоматическую передачу всех параметров родителю + return _possibleConstructorReturn(this, (TreeSelect.__proto__ || Object.getPrototypeOf(TreeSelect)).call(this, $container, { url: url, obj: obj, hasEditableContainer: hasEditableContainer, visible: visible })); } _createClass(TreeSelect, [{ @@ -251,7 +272,6 @@ var TreeSelect = function (_AbsBaseSelect) { }, { key: 'clearAllNext', value: function clearAllNext() { - // console.log("clearAllNext"); this.clear(); if (this.nextSelectBox) { this.nextSelectBox.hide(); @@ -265,16 +285,26 @@ var TreeSelect = function (_AbsBaseSelect) { if (this.prevSelectBox) { this.clear(); this.hide(); - // this.prevSelectBox.clear(); this.prevSelectBox.clearAllPrev(); } } + }, { + key: '_buildComponents', + value: function _buildComponents(data) { + _get(TreeSelect.prototype.__proto__ || Object.getPrototypeOf(TreeSelect.prototype), '_buildComponents', this).call(this, data); + //TODO: Изменять свойство visible при show/hide + if (!this.visible) this.hide(); + if (this.hasEditableContainer) this.$editableContainer.hide(); + this.dataTree = this.dataTree || new _DataTree2.default(data.results); + this._fillOptionsData(); + this._bindEvents(); + } }, { key: '_onclickOptionsElement', value: function _onclickOptionsElement(e) { this.clearAllNext(); _get(TreeSelect.prototype.__proto__ || Object.getPrototypeOf(TreeSelect.prototype), '_onclickOptionsElement', this).call(this, e); - + if (this.prevSelectBox && this.dataTree.hasChildren(this.selectedEl.id)) this.$searchInput.removeClass('active'); if (this.nextSelectBox && this.dataTree.hasChildren(this.selectedEl.id)) { this.nextSelectBox.setParent(this.selectedEl.id); this.nextSelectBox.setHeader(this.selectedEl.value); @@ -328,61 +358,117 @@ var _createClass = function () { function defineProperties(target, props) { for function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } -//TEMPLATES +//TEMPLATES ` var tmpl_selectBoxEditCont = function tmpl_selectBoxEditCont() { - return "\n

\n
\n \n \n
\n
\n \n
\n
\n"; + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$preloaderTemplat = _ref.preloaderTemplate, + preloaderTemplate = _ref$preloaderTemplat === undefined ? "" : _ref$preloaderTemplat; + + return "\n
\n
\n \n
\n " + preloaderTemplate + "\n \n \n
\n
\n
\n \n
\n
\n"; }; + var tmpl_selectBox = function tmpl_selectBox() { - return "\n \n \n \n"; + var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref2$preloaderTempla = _ref2.preloaderTemplate, + preloaderTemplate = _ref2$preloaderTempla === undefined ? "" : _ref2$preloaderTempla; + + return " \n " + preloaderTemplate + "\n \n \n"; }; + var tmpl_elementResult = function tmpl_elementResult(el, id, header) { - return "
  • "; + return "
  • "; }; + var tmpl_elementOption = function tmpl_elementOption(el) { return "
  • " + el.name + "
  • "; }; -//${vertical_child} -var htmlTemplate = function htmlTemplate(_ref) { - var header = _ref.header, - selectBox = _ref.selectBox, - id = _ref.id, - classes = _ref.classes; - return "\n
    \n
    \n
    " + header + "
    \n \n
    \n
    \n " + selectBox + "\n
    \n
    \n
    \n
      \n \n
    \n
    \n
    \n
    \n
    \n
    \n
      \n
    \n
    \n
    \n \u0418\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439\n
      \n
    \n
    \n
    \n \n
    \n \n
    \n"; + +var tmpl_plug = function tmpl_plug(_ref3) { + var header = _ref3.header, + selectBox = _ref3.selectBox; + return htmlTemplate({ header: header, selectBox: selectBox }); +}; + +var tmpl_selectBoxOptions = function tmpl_selectBoxOptions() { + return "\n
    \n
    \n
      \n \n
    \n
    \n
    \n"; +}; + +var tmpl_selectBoxResults = function tmpl_selectBoxResults() { + return "\n
    \n
    \n
    \n
      \n
    \n
    \n
    \n \u0418\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439\n
      \n
    \n
    \n
    \n \n
    \n"; +}; + +var htmlTemplate = function htmlTemplate(_ref4) { + var header = _ref4.header, + selectBox = _ref4.selectBox, + _ref4$id = _ref4.id, + id = _ref4$id === undefined ? "" : _ref4$id, + _ref4$classes = _ref4.classes, + classes = _ref4$classes === undefined ? "" : _ref4$classes, + _ref4$tmpl_selectBoxO = _ref4.tmpl_selectBoxOptions, + tmpl_selectBoxOptions = _ref4$tmpl_selectBoxO === undefined ? function () { + return ""; + } : _ref4$tmpl_selectBoxO, + _ref4$tmpl_selectBoxR = _ref4.tmpl_selectBoxResults, + tmpl_selectBoxResults = _ref4$tmpl_selectBoxR === undefined ? function () { + return ""; + } : _ref4$tmpl_selectBoxR; + return "\n
    \n
    \n
    " + header + "
    \n \n
    \n
    \n " + selectBox + "\n
    \n \n " + tmpl_selectBoxOptions() + "\n " + tmpl_selectBoxResults() + "\n \n
    \n"; }; var tmpl_light = function tmpl_light(el) { return "" + el + ""; }; +var tmpl_preloader = function tmpl_preloader() { + return "
    "; +}; + var AbsBaseSelect = function () { - // constructor($container, data, hasEditableContainer, verticalChild) { - function AbsBaseSelect(_ref2) { - var $container = _ref2.$container, - data = _ref2.data, - _ref2$hasEditableCont = _ref2.hasEditableContainer, - hasEditableContainer = _ref2$hasEditableCont === undefined ? false : _ref2$hasEditableCont; + function AbsBaseSelect($container, _ref5) { + var url = _ref5.url, + obj = _ref5.obj, + _ref5$hasEditableCont = _ref5.hasEditableContainer, + hasEditableContainer = _ref5$hasEditableCont === undefined ? false : _ref5$hasEditableCont, + _ref5$visible = _ref5.visible, + visible = _ref5$visible === undefined ? false : _ref5$visible; _classCallCheck(this, AbsBaseSelect); if (new.target === AbsBaseSelect) { throw new TypeError("Cannot construct Abstract instances directly"); } + if (obj && url) { + throw new URIError("Must be either the date or url"); + } + + var self = this; //TODO: проверка наличия id контейнера this.containerId = $container.attr("id"); - this.dataTree = data; - // console.log("data = ", data); - // Вариант не выбран + this.$container = $container; this.hasEditableContainer = hasEditableContainer; - var classes = $container.attr('class'); - if (classes) classes = classes.split(/\s+/); - var template = this.getTemplate(classes); - $container.replaceWith(template); - this._buildComponents(); - this._bindEvents(); - // if (!has_editable_container) this.hide(); + this.visible = visible; + // Быстрая заглушка, до отображения данных + if (visible) { + var preloaderTemplate = tmpl_preloader(); + var selectBox = this.hasEditableContainer ? tmpl_selectBoxEditCont({ preloaderTemplate: preloaderTemplate }) : tmpl_selectBox({ preloaderTemplate: preloaderTemplate }); + var plugTemplate = tmpl_plug({ header: "Loading...", selectBox: selectBox }); + $container.html(plugTemplate); + + this.$preloader = $container.find('#component-preloader'); + this.$spinner = this.$preloader.find('.spinner'); + } + if (url) this.dataPromise = this.getData(url); + var _dataPromise = void 0; + if (url) { + _dataPromise = this.dataPromise; + } else { + _dataPromise = obj.dataPromise; + } + // if (dataTree) this.dataTree = dataTree; + _dataPromise.then(self._buildComponents.bind(self)).catch(self._onLoadDataError.bind(self)); + // INIT EMPTY PROP this.selectedEl = { id: undefined, value: undefined }; this.parentId = undefined; - this.hide(); } // getTemplate(header, id, editable_container, vertical_child) { @@ -393,12 +479,33 @@ var AbsBaseSelect = function () { value: function getTemplate(classes) { var selectBox = this.hasEditableContainer ? tmpl_selectBoxEditCont() : tmpl_selectBox(); classes = classes ? classes.join(" ") : ""; - return htmlTemplate({ header: "TestHeader", selectBox: selectBox, id: this.containerId, classes: classes }); + return htmlTemplate({ + header: "TestHeader", selectBox: selectBox, id: this.containerId, classes: classes, + tmpl_selectBoxOptions: tmpl_selectBoxOptions, tmpl_selectBoxResults: tmpl_selectBoxResults + }); + } + }, { + key: "getData", + value: function getData(url) { + var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var self = this; + return Promise.resolve($.ajax({ + url: url, + dataType: 'json', + data: data + })); + } + }, { + key: "hidePreloader", + value: function hidePreloader() { + // console.log("hide preloader ", this.$preloader); + this.$spinner.fadeOut(); + return Promise.resolve(this.$preloader.delay(500).fadeOut(2000)); } }, { key: "clear", value: function clear() { - // console.log("clear"); this.$searchInput.val(""); this.$optionsBox.hide(); this.$resultsBox.hide(); @@ -423,15 +530,21 @@ var AbsBaseSelect = function () { }, { key: "setHeader", value: function setHeader(header) { - this.$header.html(header); + + if (this.$header) { + this.$header.html(header); + } else { + this.header = header; + } // default hide - this.show(); + // this.show(); } }, { key: "setParent", value: function setParent(parentId) { this.parentId = parentId; this._fillOptionsData(); + this.$searchInput.addClass('active'); } }, { key: "connectSelectedContainer", @@ -453,7 +566,6 @@ var AbsBaseSelect = function () { if (this.$editableContainer.length) { var separator = ' / '; var chainHeader = AbsBaseSelect.getHeader(this.dataTree.getSpecChain(elId, true), { separator: separator }); - // console.log('chainHeader = ', chainHeader); chainHeader = AbsBaseSelect.highlight(chainHeader, separator, true); var elTemplate = "" + chainHeader + ""; this.$editableContainer.html(elTemplate); @@ -465,21 +577,31 @@ var AbsBaseSelect = function () { } }, { key: "_buildComponents", - value: function _buildComponents() { + value: function _buildComponents(data) { + // AFTER PRELOAD + // this.hidePreloader().then(() => console.log("END -)")); + var classes = this.$container.attr('class'); + if (classes) classes = classes.split(/\s+/); + var template = this.getTemplate(classes); + this.$container.replaceWith(template); + this.$selectBox = $("#" + this.containerId); this.$header = this.$selectBox.find('.select-box-header .header'); + this.$header.html(this.header); this.$resultsBox = this.$selectBox.find('.select-box-results'); this.$optionsBox = this.$selectBox.find('.select-box-options'); this.$searchInput = this.$selectBox.find('input.select-box-search'); this.$buttonAdd = this.$selectBox.find('.button-add.results'); this.$buttonAddOptions = this.$selectBox.find('.button-add.options'); this.$editableContainer = this.$selectBox.find('.editable-container'); - if (this.hasEditableContainer) this.$editableContainer.hide(); - this._fillOptionsData(); this.$resultsBox.hide(); this.$optionsBox.hide(); this.$buttonAddOptions.hide(); // TODO: сделать проверку на наличие всех нужных элементов и их корректый jq select + + // REDEFINE IN CHILD + // this.dataTree = data; + // this._bindEvents(); } }, { key: "_fillOptionsData", @@ -520,43 +642,38 @@ var AbsBaseSelect = function () { value: function _fillResultsData(searchText) { var self = this; - function search(_ref3) { - var searchText = _ref3.searchText, - _ref3$parentCategoryI = _ref3.parentCategoryId, - parentCategoryId = _ref3$parentCategoryI === undefined ? null : _ref3$parentCategoryI, - _ref3$excludeCategory = _ref3.excludeCategoryId, - excludeCategoryId = _ref3$excludeCategory === undefined ? null : _ref3$excludeCategory; + function search(_ref6) { + var searchText = _ref6.searchText, + _ref6$parentCategoryI = _ref6.parentCategoryId, + parentCategoryId = _ref6$parentCategoryI === undefined ? null : _ref6$parentCategoryI, + _ref6$excludeCategory = _ref6.excludeCategoryId, + excludeCategoryId = _ref6$excludeCategory === undefined ? null : _ref6$excludeCategory; // :FORMAT spec_list [{name, id}, ...] var specList = self.dataTree.dataToList(parentCategoryId, true, excludeCategoryId); - // console.log("search -->", spec_list.length); - // console.log("parent_id ", parentCategoryId); return specList.filter(function (el) { return el.name.toLowerCase().indexOf(searchText.toLowerCase()) !== -1; }); } - function fillContainer($container, template, _ref4) { - var _ref4$searchText = _ref4.searchText, - searchText = _ref4$searchText === undefined ? "" : _ref4$searchText, - _ref4$parentCategoryI = _ref4.parentCategoryId, - parentCategoryId = _ref4$parentCategoryI === undefined ? null : _ref4$parentCategoryI, - _ref4$excludeCategory = _ref4.excludeCategoryId, - excludeCategoryId = _ref4$excludeCategory === undefined ? null : _ref4$excludeCategory; + function fillContainer($container, template, _ref7) { + var _ref7$searchText = _ref7.searchText, + searchText = _ref7$searchText === undefined ? "" : _ref7$searchText, + _ref7$parentCategoryI = _ref7.parentCategoryId, + parentCategoryId = _ref7$parentCategoryI === undefined ? null : _ref7$parentCategoryI, + _ref7$excludeCategory = _ref7.excludeCategoryId, + excludeCategoryId = _ref7$excludeCategory === undefined ? null : _ref7$excludeCategory; $container.html(""); $('.other-part').show(); var searchRes = search({ searchText: searchText, parentCategoryId: parentCategoryId, excludeCategoryId: excludeCategoryId }); // || (!excludeCategoryId && parentCategoryId === null) - // console.log("searchRes = ", searchRes); if (!searchRes.length) { if ($container.closest('div').hasClass('main-part')) { $container.append('
  • Ничего не найдено
  • '); self.$resultsBox.find('.button-add.results').hide(); - // console.log('not found main-part'); } else { $('.other-part').hide(); - // console.log('not found other-part'); } return; } @@ -595,12 +712,10 @@ var AbsBaseSelect = function () { // OTHER PART // Если нет parentId, не нужно искать в других категориях - // console.log("parentID = ", this.parentId); if (!this.parentId) { $('.other-part').hide(); } else { $container = this.$resultsBox.find('.other-part ul'); - // console.log("Fill other-part"); fillContainer($container, tmpl_elementResult, { searchText: searchText, excludeCategoryId: self.parentId }); } this.$resultsBox.find('div.header').hide(); @@ -611,12 +726,9 @@ var AbsBaseSelect = function () { this.$resultsBox.find('li').on("mouseout", function (event) { var e = event.toElement || event.relatedTarget; - // console.log(e.parentNode, ' ==', this); - // console.log(e, ' ==', this); if (e.parentNode == this || e == this) { return; } - // console.log("OUT"); $(this).find('.header').hide(); }); } @@ -635,6 +747,7 @@ var AbsBaseSelect = function () { value: function _onButtonAddOptions(e) { this._addToSelectedContainer(this.selectedEl.id); this.clear(); + this.$searchInput.removeClass('active'); e.preventDefault(); return false; } @@ -644,13 +757,17 @@ var AbsBaseSelect = function () { var self = this; this.getIdsSelectedElements().each(function () { - // console.log("add el -->", this); self._addToSelectedContainer(this); }); this.clear(); e.preventDefault(); return false; } + }, { + key: "_onLoadDataError", + value: function _onLoadDataError(error) { + console.log("Error loading data -->", error); + } }, { key: "_addToSelectedContainer", value: function _addToSelectedContainer(id) { @@ -696,15 +813,14 @@ var AbsBaseSelect = function () { } else { this.$searchInput.val(this.selectedEl.value); } - // console.log("loose ", this.selectedEl.id); } }], [{ key: "getHeader", - value: function getHeader(catChain, _ref5) { - var _ref5$separator = _ref5.separator, - separator = _ref5$separator === undefined ? " / " : _ref5$separator, - _ref5$maxLen = _ref5.maxLen, - maxLen = _ref5$maxLen === undefined ? 60 : _ref5$maxLen; + value: function getHeader(catChain, _ref8) { + var _ref8$separator = _ref8.separator, + separator = _ref8$separator === undefined ? " / " : _ref8$separator, + _ref8$maxLen = _ref8.maxLen, + maxLen = _ref8$maxLen === undefined ? 60 : _ref8$maxLen; function toShortString(string, maxLen) { return string.slice(0, maxLen) + (string.length > maxLen ? "..." : ""); @@ -724,21 +840,20 @@ var AbsBaseSelect = function () { var lastIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var index = lastIndex ? string.toLowerCase().lastIndexOf(sub_string.toLowerCase()) : string.toLowerCase().indexOf(sub_string.toLowerCase()); - // console.log("index = ", index); if (index === -1) return string; var before = void 0, select = void 0, after = void 0; if (lastIndex) { - var _ref6 = [string.slice(0, index), string.slice(index, string.length), ""]; - before = _ref6[0]; - select = _ref6[1]; - after = _ref6[2]; + var _ref9 = [string.slice(0, index), string.slice(index, string.length), ""]; + before = _ref9[0]; + select = _ref9[1]; + after = _ref9[2]; } else { - var _ref7 = [string.slice(0, index), string.slice(index, index + sub_string.length), string.slice(index + sub_string.length)]; - before = _ref7[0]; - select = _ref7[1]; - after = _ref7[2]; + var _ref10 = [string.slice(0, index), string.slice(index, index + sub_string.length), string.slice(index + sub_string.length)]; + before = _ref10[0]; + select = _ref10[1]; + after = _ref10[2]; } return "" + before + tmpl_light(select) + after; @@ -778,8 +893,6 @@ var Node = function Node(data, tree) { data.node = this; this.children = data.children.map(function (el_obj) { var el = tree._getElementById(el_obj.id); - if (!el) console.log("el not found with id", el_obj.id); - // console.log("el = ", el, "el.id = ", el_obj.id); if (el.node) return el.node; el.node = new Node(el, tree); return el.node; @@ -805,7 +918,6 @@ var DataTree = function () { key: "_getElementById", value: function _getElementById(id) { for (var i = 0; i < this.baseData.length; i++) { - // console.log(this.baseData[i].id, " / ", id); if (this.baseData[i].id == id) return this.baseData[i]; } } @@ -847,7 +959,6 @@ var DataTree = function () { }, { key: "hasChildren", value: function hasChildren(elId) { - console.log('id = ', elId); return this.getElementById(elId).children.length ? true : false; } @@ -889,7 +1000,6 @@ var DataTree = function () { var chain = []; var el = this.getElementById(id); - console.log("el = ", el); function getParent(el) { if (el.parent && el.parent != "root") { chain.push(el.parent); @@ -977,20 +1087,20 @@ var _TreeSelect2 = _interopRequireDefault(_TreeSelect); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -// ` - $(function () { - function createFilterSpecs(_data) { + function createFilterSpecs(url) { // SPECIALIZATIONS FILTER - var data = _data.results; - var sb_main = new _TreeSelect2.default({ $container: $('#select-box-1'), data: data, hasEditableContainer: true }); + var sb_main = new _TreeSelect2.default($('#select-box-1'), { url: url, hasEditableContainer: true }); sb_main.setHeader("Специализации"); - var select_container = new _SelectedContainer2.default($('#selected-spec'), data); + var select_container = new _SelectedContainer2.default($('#selected-spec'), { obj: sb_main }); sb_main.connectSelectedContainer(select_container); - var sb_1 = new _TreeSelect2.default({ $container: $('#select-box-2'), data: data }); - var sb_2 = new _TreeSelect2.default({ $container: $('#select-box-3'), data: data }); - var sb_3 = new _TreeSelect2.default({ $container: $('#select-box-4'), data: data }); - var sb_4 = new _TreeSelect2.default({ $container: $('#select-box-5'), data: data }); + var sb_1 = new _TreeSelect2.default($('#select-box-2'), { obj: sb_main }); + var sb_2 = new _TreeSelect2.default($('#select-box-3'), { obj: sb_main }); + var sb_3 = new _TreeSelect2.default($('#select-box-4'), { obj: sb_main }); + var sb_4 = new _TreeSelect2.default($('#select-box-5'), { obj: sb_main }); + // let sb_2 = new TreeSelect({$container: $('#select-box-3'), data: data}); + // let sb_3 = new TreeSelect({$container: $('#select-box-4'), data: data}); + // let sb_4 = new TreeSelect({$container: $('#select-box-5'), data: data}); sb_main.setNearbySelectBox(sb_1); sb_1.setNearbySelectBox(sb_2, sb_main); @@ -999,122 +1109,64 @@ $(function () { sb_4.setNearbySelectBox("", sb_3); } - function createFilterBuildingClass(_data) { + function createFilterBuildingClass(url) { // BUILDING-CLASSIFICATION FILTER - var data = _data.results; - var sb_build_main = new _TreeSelect2.default({ $container: $('#sb-building-classification'), data: data }); + var sb_build_main = new _TreeSelect2.default($('#sb-building-classification'), { url: url, visible: true }); sb_build_main.setHeader("Классификация здания"); - var sb_build_1 = new _TreeSelect2.default({ $container: $('#sb-building-sub-classification'), data: data }); + var sb_build_1 = new _TreeSelect2.default($('#sb-building-sub-classification'), { obj: sb_build_main }); - var select_build_container = new _SelectedContainer2.default($('#selected-building-classification'), data); + var select_build_container = new _SelectedContainer2.default($('#selected-building-classification'), { obj: sb_build_main }); sb_build_main.connectSelectedContainer(select_build_container); sb_build_main.setNearbySelectBox(sb_build_1); sb_build_1.setNearbySelectBox("", sb_build_main); } - function createFilterConstructionType(_data) { - var data = _data.results; - var sb_constr_main = new _NoTreeSelect2.default({ $container: $('#sb-construction-type'), data: data }); + function createFilterConstructionType(url) { + var sb_constr_main = new _NoTreeSelect2.default($('#sb-construction-type'), { url: url, visible: true }); sb_constr_main.setHeader("Вид строительства"); - var select_constr_type = new _SelectedContainer2.default($('#selected-construction-type'), data, true); + var select_constr_type = new _SelectedContainer2.default($('#selected-construction-type'), { obj: sb_constr_main, noTree: true }); sb_constr_main.connectSelectedContainer(select_constr_type); } - function createFilerLocations(data) { - var sb_loc_main = new _TreeSelect2.default({ $container: $('#sb-location-1'), data: data }); + function createFilerLocations(url) { + var sb_loc_main = new _TreeSelect2.default($('#sb-location-1'), { url: url, visible: true }); sb_loc_main.setHeader("Местоположение"); - var select_loc = new _SelectedContainer2.default($('#selected-location'), data); + var select_loc = new _SelectedContainer2.default($('#selected-location'), { obj: sb_loc_main }); sb_loc_main.connectSelectedContainer(select_loc); - var sb_loc_1 = new _TreeSelect2.default({ $container: $('#sb-location-2'), data: data }); - var sb_loc_2 = new _TreeSelect2.default({ $container: $('#sb-location-3'), data: data }); + var sb_loc_1 = new _TreeSelect2.default($('#sb-location-2'), { obj: sb_loc_main }); + var sb_loc_2 = new _TreeSelect2.default($('#sb-location-3'), { obj: sb_loc_main }); sb_loc_main.setNearbySelectBox(sb_loc_1); sb_loc_1.setNearbySelectBox(sb_loc_2, sb_loc_main); sb_loc_2.setNearbySelectBox("", sb_loc_1); - //TODO: Временно прелоадер на самом тяжелом объекте - // hidePreloader() - } - - $.ajax({ - url: '/api/specializations_flat', - dataType: 'json', - data: {}, - success: createFilterSpecs - }); - - $.ajax({ - url: '/api/building_classifications', - dataType: 'json', - data: {}, - success: createFilterBuildingClass - }); - - $.ajax({ - url: '/api/construction_type', - dataType: 'json', - data: {}, - success: createFilterConstructionType - }); - - var data = []; - - function fullData(_data) { - data = data.concat(_data.results.length ? _data.results : []); - var url = _data.next; - if (url) { - $.ajax({ - url: url, - dataType: 'json', - data: {}, - success: fullData - }); - } else { - createFilerLocations(data); - } - return data; } - fullData({ next: '/api/locations_flat', results: [] }); - - function tuneCheckBoxes($boxes) { - var currentState = $boxes.find("input").prop("checked") ? 'checked' : 'not-checked'; - console.log("currentState = ", currentState); - - $boxes.find("div").hide(); - $boxes.find("div." + currentState).show(); - } - - var $boxes = $('.custom-check'); - tuneCheckBoxes($boxes); - $boxes.on("click", function (e) { - var inside_checkBox = $(e.target).parent().find("input"); - inside_checkBox.prop("checked", !inside_checkBox.prop("checked")); - tuneCheckBoxes($boxes); - e.preventDefault(); - return false; - }); - - // $(window).on('load', - // function hidePreloader() { - // var $preloader = $('#page-preloader'), - // $spinner = $preloader.find('.spinner'); - // $spinner.fadeOut(); - // $preloader.delay(350).fadeOut('slow'); + createFilterSpecs('/api/specializations_flat'); + createFilterBuildingClass('/api/building_classifications'); + createFilterConstructionType('/api/construction_type'); + createFilerLocations('/api/locations_flat'); + + // let data = []; + + // function fullData(_data) { + // data = data.concat(_data.results.length ? _data.results : []); + // let url = _data.next; + // if (url) { + // $.ajax({ + // url: url, + // dataType: 'json', + // data: {}, + // success: fullData + // }); + // } else { + // createFilerLocations(data); + // } + // return data; // } - - - // $("#myBtn").click(function () { - // $('
    ' + - // '' + - // 'modal info...' + - // '
    ').appendTo("#alerts"); - // }); - -}); + // + // fullData({next: '/api/locations_flat', results: []}); +}); // ` },{"./NoTreeSelect":1,"./SelectedContainer":2,"./TreeSelect":3}]},{},[7]); diff --git a/assets/lib/proekton-components/src/NoTreeSelect.js b/assets/lib/proekton-components/js/src/NoTreeSelect.js similarity index 59% rename from assets/lib/proekton-components/src/NoTreeSelect.js rename to assets/lib/proekton-components/js/src/NoTreeSelect.js index 6f71488..e8887a3 100644 --- a/assets/lib/proekton-components/src/NoTreeSelect.js +++ b/assets/lib/proekton-components/js/src/NoTreeSelect.js @@ -2,9 +2,17 @@ import AbsBaseSelect from './base/AbsBaseSelect' import NoTreeData from './data/NoTreeData' export default class NoTreeSelect extends AbsBaseSelect{ - constructor({$container, data}){ - super({$container, data: new NoTreeData(data)}); + constructor($container, {url, obj, visible=true}){ + //TODO: сделать автоматическую передачу всех параметров родителю + super($container, {url, obj, visible}); + } + + _buildComponents(data) { + super._buildComponents(data); + this.dataTree = this.dataTree || new NoTreeData(data.results); this.$buttonAddOptions.hide(); + this._fillOptionsData(); + this._bindEvents(); } _onclickOptionsElement(e) { diff --git a/assets/lib/proekton-components/src/SelectedContainer.js b/assets/lib/proekton-components/js/src/SelectedContainer.js similarity index 83% rename from assets/lib/proekton-components/src/SelectedContainer.js rename to assets/lib/proekton-components/js/src/SelectedContainer.js index 109aad7..6cec176 100644 --- a/assets/lib/proekton-components/src/SelectedContainer.js +++ b/assets/lib/proekton-components/js/src/SelectedContainer.js @@ -16,20 +16,30 @@ let tmpl_selectedElement = (header, name, id) => `; export default class SelectedContainer { - constructor($container, data, noTree = false) { + constructor($container, {obj, noTree = false}) { // TODO: rename variables to camelCase this.$self = $container; this.elements_id = []; // [spec_id, spec_id, ...] - this.dataTree = noTree ? new NoTreeData(data) : new DataTree(data); - this.$input = this.$self.find('input[type="hidden"]'); - this.restoreElements(); + const self = this; + + obj.dataPromise + .then( + (data) => { + this.dataTree = noTree ? new NoTreeData(data.results) : new DataTree(data.results); + this.$input = this.$self.find('input[type="hidden"]'); + this.restoreElements(); + } + ) + .catch( + self._onLoadDataError.bind(self) + ); + } restoreElements() { const self = this; if (this.$input && this.$input.val()) { let data = this.$input.val().split(',').filter((el) => el); - console.log("restore data = ", data); this.elements_id = []; data.forEach((el) => self.add(el)); } @@ -62,6 +72,11 @@ export default class SelectedContainer { this.$self.find(`span[data-id='${spec_id}']`).parents('.selected-element').remove(); } + _onLoadDataError(error) { + console.log("Error loading data -->", error); + } + + remove(e) { let spec_id = $(e.target).data("id"); this._removeById(spec_id); @@ -77,10 +92,8 @@ export default class SelectedContainer { return self.dataTree.isChild(el, id) }); - // console.log(has_already); if (has_already.length || (this.elements_id).indexOf(Number(id)) != -1) { //TODO: do popup messages - console.log("Not actually"); return; } @@ -93,7 +106,6 @@ export default class SelectedContainer { }); const header = SelectedContainer.getHeader(this.dataTree.getSpecChain(id), "", max_len); - // console.log("header = ", header); const name = this.dataTree.getElementById(id).name; this.elements_id.push(id); if (this.$input) this.$input.val(this.elements_id.join(',')); diff --git a/assets/lib/proekton-components/src/TreeSelect.js b/assets/lib/proekton-components/js/src/TreeSelect.js similarity index 67% rename from assets/lib/proekton-components/src/TreeSelect.js rename to assets/lib/proekton-components/js/src/TreeSelect.js index bfae415..0dd6774 100644 --- a/assets/lib/proekton-components/src/TreeSelect.js +++ b/assets/lib/proekton-components/js/src/TreeSelect.js @@ -2,8 +2,9 @@ import AbsBaseSelect from './base/AbsBaseSelect' import DataTree from './data/DataTree' export default class TreeSelect extends AbsBaseSelect{ - constructor({$container, data, hasEditableContainer = false}){ - super({$container, data: new DataTree(data), hasEditableContainer}); + constructor($container, {url, obj, hasEditableContainer = false, visible = hasEditableContainer}){ + //TODO: сделать автоматическую передачу всех параметров родителю + super($container, {url, obj, hasEditableContainer, visible}); } setNearbySelectBox(next, prev) { @@ -12,7 +13,6 @@ export default class TreeSelect extends AbsBaseSelect{ } clearAllNext() { - // console.log("clearAllNext"); this.clear(); if (this.nextSelectBox) { this.nextSelectBox.hide(); @@ -25,15 +25,24 @@ export default class TreeSelect extends AbsBaseSelect{ if (this.prevSelectBox) { this.clear(); this.hide(); - // this.prevSelectBox.clear(); this.prevSelectBox.clearAllPrev() } } + _buildComponents(data) { + super._buildComponents(data); + //TODO: Изменять свойство visible при show/hide + if (!this.visible) this.hide(); + if (this.hasEditableContainer) this.$editableContainer.hide(); + this.dataTree = this.dataTree || new DataTree(data.results); + this._fillOptionsData(); + this._bindEvents(); + } + _onclickOptionsElement(e) { this.clearAllNext(); super._onclickOptionsElement(e); - + if (this.prevSelectBox && this.dataTree.hasChildren(this.selectedEl.id)) this.$searchInput.removeClass('active'); if (this.nextSelectBox && this.dataTree.hasChildren(this.selectedEl.id)) { this.nextSelectBox.setParent(this.selectedEl.id); this.nextSelectBox.setHeader(this.selectedEl.value); diff --git a/assets/lib/proekton-components/js/src/TreeSelectPreload.js b/assets/lib/proekton-components/js/src/TreeSelectPreload.js new file mode 100644 index 0000000..13dd294 --- /dev/null +++ b/assets/lib/proekton-components/js/src/TreeSelectPreload.js @@ -0,0 +1,82 @@ +// ` +import DataTree from './data/DataTree' +const tmpl_selectBoxEditCont = () =>` +
    +
    +
    + +
    +
    +
    +
    +`; +const tmpl_plug = ({header, selectBox}) => + ` +
    +
    +
    ${header}
    + +
    + +
    +`; + +export default class TreeSelectPreload { + constructor($container, {url}) { + let template = this.getTemplate(); + $container.html(template); + this.$preloader = $container.find('#component-preloader'); + this.$spinner = this.$preloader.find('.spinner'); + this.getData(url) + } + + hidePreloader() { + // console.log("hide preloader ", this.$preloader); + this.$spinner.fadeOut(); + this.$preloader.delay(350).fadeOut('slow'); + } + + getData(url, data = {}) { + const self = this; + $.ajax({ + url: url, + dataType: 'json', + data: data, + success: self._buildComponents.bind(self), + error: self._onLoadDataError.bind(self), + }); + } + + getTemplate() { + let selectBox = tmpl_selectBoxEditCont(); + return tmpl_plug({header: "TestHeader", selectBox}) + } + + _buildComponents(data) { + console.log("loading data =", data); + // console.log("this =", this); + this.hidePreloader(); + // this.$selectBox = $(`#${this.containerId}`); + // this.$header = this.$selectBox.find('.select-box-header .header'); + // this.$resultsBox = this.$selectBox.find('.select-box-results'); + // this.$optionsBox = this.$selectBox.find('.select-box-options'); + // this.$searchInput = this.$selectBox.find('input.select-box-search'); + // this.$editableContainer = this.$selectBox.find('.editable-container'); + // this._fillOptionsData(); + // this.$resultsBox.hide(); + // this.$optionsBox.hide(); + // this.$buttonAddOptions.hide(); + } + + _fillOptionsData() { + + } + + _onLoadDataError(error) { + console.log("Error loading data -->", error); + } + + +} \ No newline at end of file diff --git a/assets/lib/proekton-components/src/base/AbsBaseSelect.js b/assets/lib/proekton-components/js/src/base/AbsBaseSelect.js similarity index 73% rename from assets/lib/proekton-components/src/base/AbsBaseSelect.js rename to assets/lib/proekton-components/js/src/base/AbsBaseSelect.js index c49a497..dda4f8e 100644 --- a/assets/lib/proekton-components/src/base/AbsBaseSelect.js +++ b/assets/lib/proekton-components/js/src/base/AbsBaseSelect.js @@ -1,38 +1,41 @@ -//TEMPLATES -const tmpl_selectBoxEditCont = () =>` +//TEMPLATES ` +const tmpl_selectBoxEditCont = ({preloaderTemplate = ""}={}) => + `
    - - -
    + +
    + ${preloaderTemplate} + + +
    +
    - +
    `; -const tmpl_selectBox = () =>` + +const tmpl_selectBox = ({preloaderTemplate = ""}={}) => + ` + ${preloaderTemplate} - - + `; + const tmpl_elementResult = (el, id, header) => `
  • `; + const tmpl_elementOption = (el) => `
  • ${el.name}
  • `; -//${vertical_child} -const htmlTemplate = ({header, selectBox, id, classes}) => + +const tmpl_plug = ({header, selectBox}) => htmlTemplate({header, selectBox}); + +const tmpl_selectBoxOptions = () => ` -
    -
    -
    ${header}
    - -
    -
      @@ -40,6 +43,10 @@ const htmlTemplate = ({header, selectBox, id, classes}) =>
    +`; + +const tmpl_selectBoxResults = () => + `
    @@ -54,42 +61,104 @@ const htmlTemplate = ({header, selectBox, id, classes}) =>
    +`; + +const htmlTemplate = ({header, selectBox, id = "", classes = "", tmpl_selectBoxOptions = () => "", tmpl_selectBoxResults = () => ""}) => + ` +
    +
    +
    ${header}
    + +
    + + + ${tmpl_selectBoxOptions()} + ${tmpl_selectBoxResults()}
    `; let tmpl_light = (el) => `${el}`; +let tmpl_preloader = () => `
    `; + export default class AbsBaseSelect { - // constructor($container, data, hasEditableContainer, verticalChild) { - constructor({$container, data, hasEditableContainer = false}) { + constructor($container, {url, obj, hasEditableContainer = false, visible = false}) { if (new.target === AbsBaseSelect) { throw new TypeError("Cannot construct Abstract instances directly"); } + if (obj && url) { + throw new URIError("Must be either the date or url"); + } + + const self = this; //TODO: проверка наличия id контейнера this.containerId = $container.attr("id"); - this.dataTree = data; - // console.log("data = ", data); - // Вариант не выбран + this.$container = $container; this.hasEditableContainer = hasEditableContainer; - let classes = $container.attr('class'); - if (classes) classes = classes.split(/\s+/); - let template = this.getTemplate(classes); - $container.replaceWith(template); - this._buildComponents(); - this._bindEvents(); + this.visible = visible; + // Быстрая заглушка, до отображения данных + if (visible) { + let preloaderTemplate = tmpl_preloader(); + let selectBox = this.hasEditableContainer + ? tmpl_selectBoxEditCont({preloaderTemplate}) + : tmpl_selectBox({preloaderTemplate}); + let plugTemplate = tmpl_plug({header: "Loading...", selectBox}); + $container.html(plugTemplate); + + this.$preloader = $container.find('#component-preloader'); + this.$spinner = this.$preloader.find('.spinner'); + } + if (url) this.dataPromise = this.getData(url); + let _dataPromise; + if (url) { + _dataPromise = this.dataPromise; + } else { + _dataPromise = obj.dataPromise + } + // if (dataTree) this.dataTree = dataTree; + _dataPromise + .then( + self._buildComponents.bind(self) + ) + .catch( + self._onLoadDataError.bind(self) + ); + // INIT EMPTY PROP this.selectedEl = {id: undefined, value: undefined}; this.parentId = undefined; - this.hide(); } // getTemplate(header, id, editable_container, vertical_child) { getTemplate(classes) { let selectBox = this.hasEditableContainer ? tmpl_selectBoxEditCont() : tmpl_selectBox(); - classes = classes ? classes.join(" "): ""; - return htmlTemplate({header: "TestHeader", selectBox, id: this.containerId, classes}) + classes = classes ? classes.join(" ") : ""; + return htmlTemplate({ + header: "TestHeader", selectBox, id: this.containerId, classes, + tmpl_selectBoxOptions, tmpl_selectBoxResults + }) } + getData(url, data = {}) { + const self = this; + return Promise.resolve($.ajax({ + url: url, + dataType: 'json', + data: data, + // success: self._buildComponents.bind(self), + // error: self._onLoadDataError.bind(self), + })) + } + + hidePreloader() { + // console.log("hide preloader ", this.$preloader); + this.$spinner.fadeOut(); + return Promise.resolve(this.$preloader.delay(500).fadeOut(2000)); + } + + static getHeader(catChain, {separator = " / ", maxLen = 60}) { function toShortString(string, maxLen) { return string.slice(0, maxLen) + (string.length > maxLen ? "..." : ""); @@ -145,14 +214,16 @@ export default class AbsBaseSelect { } setHeader(header) { - this.$header.html(header); + + if (this.$header){this.$header.html(header)} else {this.header = header} // default hide - this.show(); + // this.show(); } setParent(parentId) { this.parentId = parentId; this._fillOptionsData(); + this.$searchInput.addClass('active'); } connectSelectedContainer(selectedContainer) { @@ -182,21 +253,31 @@ export default class AbsBaseSelect { } - _buildComponents() { + _buildComponents(data) { + // AFTER PRELOAD + // this.hidePreloader().then(() => console.log("END -)")); + let classes = this.$container.attr('class'); + if (classes) classes = classes.split(/\s+/); + let template = this.getTemplate(classes); + this.$container.replaceWith(template); + this.$selectBox = $(`#${this.containerId}`); this.$header = this.$selectBox.find('.select-box-header .header'); + this.$header.html(this.header); this.$resultsBox = this.$selectBox.find('.select-box-results'); this.$optionsBox = this.$selectBox.find('.select-box-options'); this.$searchInput = this.$selectBox.find('input.select-box-search'); this.$buttonAdd = this.$selectBox.find('.button-add.results'); this.$buttonAddOptions = this.$selectBox.find('.button-add.options'); this.$editableContainer = this.$selectBox.find('.editable-container'); - if (this.hasEditableContainer) this.$editableContainer.hide(); - this._fillOptionsData(); this.$resultsBox.hide(); this.$optionsBox.hide(); this.$buttonAddOptions.hide(); // TODO: сделать проверку на наличие всех нужных элементов и их корректый jq select + + // REDEFINE IN CHILD + // this.dataTree = data; + // this._bindEvents(); } _fillOptionsData() { @@ -227,14 +308,13 @@ export default class AbsBaseSelect { $container.html(""); $('.other-part').show(); let searchRes = search({searchText, parentCategoryId, excludeCategoryId}); + // || (!excludeCategoryId && parentCategoryId === null) if (!searchRes.length) { if ($container.closest('div').hasClass('main-part')) { $container.append('
  • Ничего не найдено
  • '); self.$resultsBox.find('.button-add.results').hide(); - // console.log('not found main-part'); } else { $('.other-part').hide(); - // console.log('not found other-part'); } return; } @@ -256,7 +336,6 @@ export default class AbsBaseSelect { $('.other-part').hide(); } else { $container = this.$resultsBox.find('.other-part ul'); - // console.log("Fill other-part"); fillContainer($container, tmpl_elementResult, {searchText: searchText, excludeCategoryId: self.parentId}); } this.$resultsBox.find('div.header').hide(); @@ -289,6 +368,7 @@ export default class AbsBaseSelect { _onButtonAddOptions(e) { this._addToSelectedContainer(this.selectedEl.id); this.clear(); + this.$searchInput.removeClass('active'); e.preventDefault(); return false; } @@ -304,6 +384,10 @@ export default class AbsBaseSelect { return false; } + _onLoadDataError(error) { + console.log("Error loading data -->", error); + } + _addToSelectedContainer(id) { this.selectedContainer.add(id) } diff --git a/assets/lib/proekton-components/src/data/DataTree.js b/assets/lib/proekton-components/js/src/data/DataTree.js similarity index 94% rename from assets/lib/proekton-components/src/data/DataTree.js rename to assets/lib/proekton-components/js/src/data/DataTree.js index c95bd6b..85ab10f 100644 --- a/assets/lib/proekton-components/src/data/DataTree.js +++ b/assets/lib/proekton-components/js/src/data/DataTree.js @@ -14,8 +14,6 @@ class Node { data.node = this; this.children = data.children.map(function (el_obj) { let el = tree._getElementById(el_obj.id); - if(!el) console.log("el not found with id", el_obj.id); - // console.log("el = ", el, "el.id = ", el_obj.id); if (el.node) return el.node; el.node = new Node(el, tree); return el.node @@ -36,7 +34,6 @@ export default class DataTree { */ _getElementById(id) { for (let i = 0; i < this.baseData.length; i++) { - // console.log(this.baseData[i].id, " / ", id); if (this.baseData[i].id == id) return this.baseData[i] } } @@ -71,7 +68,6 @@ export default class DataTree { } hasChildren(elId){ - console.log('id = ', elId); return (this.getElementById(elId).children.length) ? true : false } diff --git a/assets/lib/proekton-components/src/data/NoTreeData.js b/assets/lib/proekton-components/js/src/data/NoTreeData.js similarity index 100% rename from assets/lib/proekton-components/src/data/NoTreeData.js rename to assets/lib/proekton-components/js/src/data/NoTreeData.js diff --git a/assets/lib/proekton-components/js/src/init.js b/assets/lib/proekton-components/js/src/init.js new file mode 100644 index 0000000..5781caa --- /dev/null +++ b/assets/lib/proekton-components/js/src/init.js @@ -0,0 +1,89 @@ +// ` +import SelectedContainer from './SelectedContainer'; +import NoTreeSelect from './NoTreeSelect'; +import TreeSelect from './TreeSelect'; + +$(function () { + function createFilterSpecs(url) { + // SPECIALIZATIONS FILTER + let sb_main = new TreeSelect($('#select-box-1'), {url, hasEditableContainer: true}); + sb_main.setHeader("Специализации"); + let select_container = new SelectedContainer($('#selected-spec'), {obj: sb_main}); + sb_main.connectSelectedContainer(select_container); + let sb_1 = new TreeSelect($('#select-box-2'), {obj: sb_main}); + let sb_2 = new TreeSelect($('#select-box-3'), {obj: sb_main}); + let sb_3 = new TreeSelect($('#select-box-4'), {obj: sb_main}); + let sb_4 = new TreeSelect($('#select-box-5'), {obj: sb_main}); + // let sb_2 = new TreeSelect({$container: $('#select-box-3'), data: data}); + // let sb_3 = new TreeSelect({$container: $('#select-box-4'), data: data}); + // let sb_4 = new TreeSelect({$container: $('#select-box-5'), data: data}); + + sb_main.setNearbySelectBox(sb_1); + sb_1.setNearbySelectBox(sb_2, sb_main); + sb_2.setNearbySelectBox(sb_3, sb_1); + sb_3.setNearbySelectBox(sb_4, sb_2); + sb_4.setNearbySelectBox("", sb_3); + + } + + function createFilterBuildingClass(url) { + // BUILDING-CLASSIFICATION FILTER + let sb_build_main = new TreeSelect($('#sb-building-classification'), {url, visible:true}); + sb_build_main.setHeader("Классификация здания"); + + let sb_build_1 = new TreeSelect($('#sb-building-sub-classification'), {obj: sb_build_main}); + + let select_build_container = new SelectedContainer($('#selected-building-classification'), {obj: sb_build_main}); + sb_build_main.connectSelectedContainer(select_build_container); + + sb_build_main.setNearbySelectBox(sb_build_1); + sb_build_1.setNearbySelectBox("", sb_build_main); + } + + function createFilterConstructionType(url) { + let sb_constr_main = new NoTreeSelect($('#sb-construction-type'), {url, visible:true}); + sb_constr_main.setHeader("Вид строительства"); + let select_constr_type = new SelectedContainer($('#selected-construction-type'), {obj:sb_constr_main, noTree: true}); + sb_constr_main.connectSelectedContainer(select_constr_type); + } + + function createFilerLocations(url) { + let sb_loc_main = new TreeSelect($('#sb-location-1'), {url, visible:true}); + sb_loc_main.setHeader("Местоположение"); + let select_loc = new SelectedContainer($('#selected-location'), {obj: sb_loc_main}); + sb_loc_main.connectSelectedContainer(select_loc); + let sb_loc_1 = new TreeSelect($('#sb-location-2'), {obj: sb_loc_main}); + let sb_loc_2 = new TreeSelect($('#sb-location-3'), {obj: sb_loc_main}); + + sb_loc_main.setNearbySelectBox(sb_loc_1); + sb_loc_1.setNearbySelectBox(sb_loc_2, sb_loc_main); + sb_loc_2.setNearbySelectBox("", sb_loc_1); + + } + + createFilterSpecs('/api/specializations_flat'); + createFilterBuildingClass('/api/building_classifications'); + createFilterConstructionType('/api/construction_type'); + createFilerLocations('/api/locations_flat'); + + // let data = []; + + // function fullData(_data) { + // data = data.concat(_data.results.length ? _data.results : []); + // let url = _data.next; + // if (url) { + // $.ajax({ + // url: url, + // dataType: 'json', + // data: {}, + // success: fullData + // }); + // } else { + // createFilerLocations(data); + // } + // return data; + // } + // + // fullData({next: '/api/locations_flat', results: []}); + +}); \ No newline at end of file diff --git a/assets/lib/proekton-components/js/src/init_example.js b/assets/lib/proekton-components/js/src/init_example.js new file mode 100644 index 0000000..bd3a6fb --- /dev/null +++ b/assets/lib/proekton-components/js/src/init_example.js @@ -0,0 +1,59 @@ +import SelectedContainer from './SelectedContainer'; +import NoTreeSelect from './NoTreeSelect'; +import TreeSelect from './TreeSelect'; +import TreeSelectPreload from './TreeSelectPreload'; + +$(function () { + const url_root = "http://127.0.0.1:8000"; + + let sb_main = new TreeSelect($('#select-box-1'), + {url: url_root + '/api/specializations_flat/', hasEditableContainer: true}); + sb_main.setHeader("Специализации"); + let select_container = new SelectedContainer($('#selected-spec'), {obj: sb_main}); + // + sb_main.connectSelectedContainer(select_container); + + let sb_1 = new TreeSelect($('#select-box-2'), {obj: sb_main}); + let sb_2 = new TreeSelect($('#select-box-3'), {obj: sb_main}); + let sb_3 = new TreeSelect($('#select-box-4'), {obj: sb_main}); + let sb_4 = new TreeSelect($('#select-box-5'), {obj: sb_main}); + // let sb_2 = new TreeSelect({$container: $('#select-box-3'), data: data}); + // let sb_3 = new TreeSelect({$container: $('#select-box-4'), data: data}); + // let sb_4 = new TreeSelect({$container: $('#select-box-5'), data: data}); + + sb_main.setNearbySelectBox(sb_1); + sb_1.setNearbySelectBox(sb_2, sb_main); + sb_2.setNearbySelectBox(sb_3, sb_1); + sb_3.setNearbySelectBox(sb_4, sb_2); + sb_4.setNearbySelectBox("", sb_3); + + let building_classification = new NoTreeSelect($('#construction-type'), + {url: url_root + '/api/construction_type/'}); + building_classification.setHeader('Классификация'); + let select_ct = new SelectedContainer($('#select-construction-type'), {obj: building_classification, noTree: true}); + building_classification.connectSelectedContainer(select_ct); + + function tuneCheckBoxes($boxes) { + let currentState = $boxes.find("input").prop("checked") ? 'checked' : 'not-checked'; + + $boxes.find("div").hide(); + $boxes.find("div." + currentState).show(); + } + + //PRELOAD-BOX + let pr_1 = new TreeSelect($('#preload-1'), {url: url_root + '/api/locations_flat', visible: true}); + let pr_2 = new TreeSelect($('#preload-2'), {url: url_root + '/api/locations_flat'}); + let pr_3 = new TreeSelect($('#preload-3'), {url: url_root + '/api/locations_flat'}); + + // CUSTOM CHECK-BOX + let $boxes = $('.custom-check'); + tuneCheckBoxes($boxes); + $boxes.on("click", function (e) { + let inside_checkBox = $(e.target).parent().find("input"); + inside_checkBox.prop("checked", !inside_checkBox.prop("checked")); + tuneCheckBoxes($boxes); + e.preventDefault(); + return false; + }); + +}); \ No newline at end of file diff --git a/assets/lib/proekton-components/src/init.js b/assets/lib/proekton-components/src/init.js deleted file mode 100644 index d1b5fbc..0000000 --- a/assets/lib/proekton-components/src/init.js +++ /dev/null @@ -1,144 +0,0 @@ -import SelectedContainer from './SelectedContainer'; -import NoTreeSelect from './NoTreeSelect'; -import TreeSelect from './TreeSelect'; - -// ` - -$(function () { - function createFilterSpecs(_data) { - // SPECIALIZATIONS FILTER - let data = _data.results; - let sb_main = new TreeSelect({$container: $('#select-box-1'), data: data, hasEditableContainer: true}); - sb_main.setHeader("Специализации"); - let select_container = new SelectedContainer($('#selected-spec'), data); - sb_main.connectSelectedContainer(select_container); - let sb_1 = new TreeSelect({$container: $('#select-box-2'), data: data}); - let sb_2 = new TreeSelect({$container: $('#select-box-3'), data: data}); - let sb_3 = new TreeSelect({$container: $('#select-box-4'), data: data}); - let sb_4 = new TreeSelect({$container: $('#select-box-5'), data: data}); - - sb_main.setNearbySelectBox(sb_1); - sb_1.setNearbySelectBox(sb_2, sb_main); - sb_2.setNearbySelectBox(sb_3, sb_1); - sb_3.setNearbySelectBox(sb_4, sb_2); - sb_4.setNearbySelectBox("", sb_3); - - } - - function createFilterBuildingClass(_data) { - // BUILDING-CLASSIFICATION FILTER - let data = _data.results; - let sb_build_main = new TreeSelect({$container: $('#sb-building-classification'), data: data}); - sb_build_main.setHeader("Классификация здания"); - - let sb_build_1 = new TreeSelect({$container: $('#sb-building-sub-classification'), data: data}); - - let select_build_container = new SelectedContainer($('#selected-building-classification'), data); - sb_build_main.connectSelectedContainer(select_build_container); - - sb_build_main.setNearbySelectBox(sb_build_1); - sb_build_1.setNearbySelectBox("", sb_build_main); - } - - function createFilterConstructionType(_data) { - let data = _data.results; - let sb_constr_main = new NoTreeSelect({$container: $('#sb-construction-type'), data: data}); - sb_constr_main.setHeader("Вид строительства"); - let select_constr_type = new SelectedContainer($('#selected-construction-type'), data, true); - sb_constr_main.connectSelectedContainer(select_constr_type); - } - - function createFilerLocations(data) { - let sb_loc_main = new TreeSelect({$container: $('#sb-location-1'), data: data}); - sb_loc_main.setHeader("Местоположение"); - let select_loc = new SelectedContainer($('#selected-location'), data); - sb_loc_main.connectSelectedContainer(select_loc); - let sb_loc_1 = new TreeSelect({$container: $('#sb-location-2'), data: data}); - let sb_loc_2 = new TreeSelect({$container: $('#sb-location-3'), data: data}); - - sb_loc_main.setNearbySelectBox(sb_loc_1); - sb_loc_1.setNearbySelectBox(sb_loc_2, sb_loc_main); - sb_loc_2.setNearbySelectBox("", sb_loc_1); - //TODO: Временно прелоадер на самом тяжелом объекте - // hidePreloader() - - } - - $.ajax({ - url: '/api/specializations_flat', - dataType: 'json', - data: {}, - success: createFilterSpecs - }); - - $.ajax({ - url: '/api/building_classifications', - dataType: 'json', - data: {}, - success: createFilterBuildingClass - }); - - $.ajax({ - url: '/api/construction_type', - dataType: 'json', - data: {}, - success: createFilterConstructionType - }); - - let data = []; - - function fullData(_data) { - data = data.concat(_data.results.length ? _data.results : []); - let url = _data.next; - if (url) { - $.ajax({ - url: url, - dataType: 'json', - data: {}, - success: fullData - }); - } else { - createFilerLocations(data); - } - return data; - } - - fullData({next: '/api/locations_flat', results: []}); - - function tuneCheckBoxes($boxes) { - let currentState = $boxes.find("input").prop("checked") ? 'checked' : 'not-checked'; - $boxes.find("div").hide(); - $boxes.find("div." + currentState).show(); - } - - let $boxes = $('.custom-check'); - tuneCheckBoxes($boxes); - $boxes.on("click", function (e) { - let inside_checkBox = $(e.target).parent().find("input"); - inside_checkBox.prop("checked", !inside_checkBox.prop("checked")); - tuneCheckBoxes($boxes); - e.preventDefault(); - return false; - }); - - // $(window).on('load', - // function hidePreloader() { - // var $preloader = $('#page-preloader'), - // $spinner = $preloader.find('.spinner'); - // $spinner.fadeOut(); - // $preloader.delay(350).fadeOut('slow'); - // } - - - // $("#myBtn").click(function () { - // $('
    ' + - // '' + - // 'modal info...' + - // '
    ').appendTo("#alerts"); - // }); - - -}); \ No newline at end of file diff --git a/assets/projects-filter.js b/assets/projects-filter.js index 294e7d7..fc12b86 100644 --- a/assets/projects-filter.js +++ b/assets/projects-filter.js @@ -1,3 +1,48 @@ +$(function () { + let $buttonF1 = $('.resButton'); + if ($('.slide').hasClass("active")) $buttonF1.css('transform', 'rotate(180deg)'); + + $buttonF1.on("click", function (e) { + e.preventDefault(); + let $slide = $('.slide'); + if ($slide.hasClass("active")) { + $buttonF1.css('transform', 'rotate(0deg)'); + $slide.slideUp(300); + } else { + $buttonF1.css('transform', 'rotate(180deg)'); + $slide.slideDown(300); + } + $slide.toggleClass("active"); + }); + + function tuneCheckBoxes($boxes) { + let currentState = $boxes.find("input").prop("checked") ? 'checked' : 'not-checked'; + $boxes.find("div").hide(); + $boxes.find("div." + currentState).show(); + } + + let $boxes = $('.custom-check'); + tuneCheckBoxes($boxes); + $boxes.on("click", function (e) { + let inside_checkBox = $(e.target).parent().find("input"); + inside_checkBox.prop("checked", !inside_checkBox.prop("checked")); + tuneCheckBoxes($boxes); + e.preventDefault(); + return false; + }); + + + // $("#myBtn").click(function () { + // $('
    ' + + // '' + + // 'modal info...' + + // '
    ').appendTo("#alerts"); + // }); +}); + function getFormData($form, pageNum) { var unindexed_array = $form.serializeArray(); var indexed_array = {}; diff --git a/projects/static/css/project_filter.css b/projects/static/css/project_filter.css new file mode 100644 index 0000000..e9b895e --- /dev/null +++ b/projects/static/css/project_filter.css @@ -0,0 +1,95 @@ +body { + font-size: 11pt; + font-family: Arial-MT-Regular, Arial, sans-serif; +} + +.wrapper { + background-color: #f2f2f2; + padding: 40px; + margin: 50px 30px; +} + +.form-container { + padding: 50px 45px; +} + +.separator { + margin-top: 35px; + margin-bottom: 5px; +} + +.vertical-child { + margin-top: 30px; +} + +.custom-check{ + cursor: pointer; + display: inline-block +} + +.custom-check .checked{ + background: url("../img/checkbox_Check.png.png") no-repeat center; + background-size: 210px 51px; + width: 210px; + height: 51px; +} + +.custom-check .not-checked { + background: url("../img/checkbox_notCheck.png") no-repeat center; + background-size: 210px 51px; + width: 210px; + height: 51px; +} + +.resButton { + width: 50px; + height: 50px; + background-color: white; + border: 1px solid #CFCFCF; + color: #FF0029; + text-align: center; + font-size: 16px; + float: left; + border-radius: 100%; + margin: -15px 20px 0 28px; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} + +button.resButton:focus {outline:0;} + +.flex { + display: flex; +} + +.flex .header{ + font-size: 12pt; + padding-right: 10px; +} +.header .fa { + padding-left: 3px; + color: #5e5e5e; + position: relative; + top: 0; +} + +.border { + flex: 1 1 auto; + float: left; + margin: 10px 0 0 0; + border-top: 1px solid #CFCFCF; +} + +.slide { + display: none; +} + +.slide.active { + display: block; +} + +.revert { + margin-left: -15px; + margin-right: -15px; +} \ No newline at end of file diff --git a/assets/lib/proekton-components/img/rect02.png b/projects/static/img/checkbox_Check.png.png similarity index 100% rename from assets/lib/proekton-components/img/rect02.png rename to projects/static/img/checkbox_Check.png.png diff --git a/assets/lib/proekton-components/img/rect01.png b/projects/static/img/checkbox_notCheck.png similarity index 100% rename from assets/lib/proekton-components/img/rect01.png rename to projects/static/img/checkbox_notCheck.png diff --git a/projects/templates/partials/inc-projects-filter.html b/projects/templates/partials/inc-projects-filter.html index 243cdce..79f5c3b 100644 --- a/projects/templates/partials/inc-projects-filter.html +++ b/projects/templates/partials/inc-projects-filter.html @@ -1,4 +1,4 @@ -
    +
    {#
    #} @@ -32,11 +32,14 @@
    -
    -

    Поиск по ключевым словам и фразам

    -
    -
    -
    +
    +
    + + Поиск по ключевым словам и фразам + + +
    +
    @@ -47,7 +50,7 @@ name="keywords" onkeydown="event.keyCode === 13 && $(this).closest('form').submit()" value="{{ form.keywords.value }}" - class="select-box-search searchInp box-sizing" + class="select-box-search" placeholder="Ключевые слова, фразы">
    @@ -66,18 +69,18 @@
    -
    -

    Расширенные поля

    - -
    -
    -
    +
    +
    + Расширенные поля + +
    +
    -
    +
    @@ -109,13 +112,10 @@
    -{#
    #} -{# #} -{#
    #}
    -
    +
    diff --git a/projects/templates/project_filter.html b/projects/templates/project_filter.html index 5e38f9d..4605575 100644 --- a/projects/templates/project_filter.html +++ b/projects/templates/project_filter.html @@ -2,11 +2,10 @@ {% load staticfiles %} {% block head_css %} - - + {# other #} {% endblock %} {% block content %} @@ -32,9 +31,7 @@ {% endblock %} {% block js_block %} {{ block.super }} - + - {% endblock %} \ No newline at end of file diff --git a/projects/views.py b/projects/views.py index 4ab7b5c..c721b8f 100644 --- a/projects/views.py +++ b/projects/views.py @@ -379,12 +379,16 @@ class ProjectFilterView(BaseMixin, View): projects = self.sort_by(projects) projects = self.pagination(projects, request.get("page")) + has_additional_fields = bool(context.get("building_classification") or context.get( + "construction_type") or context.get("location") or context.get("cro")) + context.update({ 'choices': self.PROJECT_ORDER_CHOICES, 'projects': projects, 'is_paginated': True, 'page_obj': projects, 'num_results': num_results, + 'has_additional_fields': has_additional_fields }) return context