diff --git a/assets/lib/proekton-components/build/init.js b/assets/lib/proekton-components/build/init.js
index e082848..131b7a0 100644
--- a/assets/lib/proekton-components/build/init.js
+++ b/assets/lib/proekton-components/build/init.js
@@ -163,7 +163,9 @@ var SelectedContainer = function () {
});
var header = SelectedContainer.getHeader(this.dataTree.getSpecChain(id), "", max_len);
- // console.log("header = ", header);
+ 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(','));
@@ -343,8 +345,9 @@ var tmpl_elementOption = function tmpl_elementOption(el) {
var htmlTemplate = function htmlTemplate(_ref) {
var header = _ref.header,
selectBox = _ref.selectBox,
- id = _ref.id;
- return "\n
\n \n
\n " + selectBox + "\n
\n
\n
\n
\n
\n
\n
\n
\n";
+ id = _ref.id,
+ classes = _ref.classes;
+ return "\n\n \n
\n " + selectBox + "\n
\n
\n
\n
\n
\n
\n
\n
\n";
};
var tmpl_light = function tmpl_light(el) {
return "" + el + "";
@@ -363,14 +366,15 @@ var AbsBaseSelect = function () {
if (new.target === AbsBaseSelect) {
throw new TypeError("Cannot construct Abstract instances directly");
}
- //TODO: добавить применение классов контейнера
//TODO: проверка наличия id контейнера
this.containerId = $container.attr("id");
this.dataTree = data;
- console.log("data = ", data);
+ // console.log("data = ", data);
// Вариант не выбран
this.hasEditableContainer = hasEditableContainer;
- var template = this.getTemplate();
+ var classes = $container.attr('class');
+ if (classes) classes = classes.split(/\s+/);
+ var template = this.getTemplate(classes);
$container.replaceWith(template);
this._buildComponents();
this._bindEvents();
@@ -386,14 +390,15 @@ var AbsBaseSelect = function () {
_createClass(AbsBaseSelect, [{
key: "getTemplate",
- value: function getTemplate() {
+ value: function getTemplate(classes) {
var selectBox = this.hasEditableContainer ? tmpl_selectBoxEditCont() : tmpl_selectBox();
- return htmlTemplate({ header: "TestHeader", selectBox: selectBox, id: this.containerId });
+ classes = classes ? classes.join(" ") : "";
+ return htmlTemplate({ header: "TestHeader", selectBox: selectBox, id: this.containerId, classes: classes });
}
}, {
key: "clear",
value: function clear() {
- console.log("clear");
+ // console.log("clear");
this.$searchInput.val("");
this.$optionsBox.hide();
this.$resultsBox.hide();
@@ -448,7 +453,7 @@ var AbsBaseSelect = function () {
if (this.$editableContainer.length) {
var separator = ' / ';
var chainHeader = AbsBaseSelect.getHeader(this.dataTree.getSpecChain(elId, true), { separator: separator });
- console.log('chainHeader = ', chainHeader);
+ // console.log('chainHeader = ', chainHeader);
chainHeader = AbsBaseSelect.highlight(chainHeader, separator, true);
var elTemplate = "" + chainHeader + "";
this.$editableContainer.html(elTemplate);
@@ -543,7 +548,7 @@ var AbsBaseSelect = function () {
$('.other-part').show();
var searchRes = search({ searchText: searchText, parentCategoryId: parentCategoryId, excludeCategoryId: excludeCategoryId });
// || (!excludeCategoryId && parentCategoryId === null)
- console.log("searchRes = ", searchRes);
+ // console.log("searchRes = ", searchRes);
if (!searchRes.length) {
if ($container.closest('div').hasClass('main-part')) {
$container.append('Ничего не найдено');
@@ -606,12 +611,12 @@ 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);
+ // console.log(e.parentNode, ' ==', this);
+ // console.log(e, ' ==', this);
if (e.parentNode == this || e == this) {
return;
}
- console.log("OUT");
+ // console.log("OUT");
$(this).find('.header').hide();
});
}
@@ -639,7 +644,7 @@ var AbsBaseSelect = function () {
var self = this;
this.getIdsSelectedElements().each(function () {
- console.log("add el -->", this);
+ // console.log("add el -->", this);
self._addToSelectedContainer(this);
});
this.clear();
@@ -691,7 +696,7 @@ var AbsBaseSelect = function () {
} else {
this.$searchInput.val(this.selectedEl.value);
}
- console.log("loose ", this.selectedEl.id);
+ // console.log("loose ", this.selectedEl.id);
}
}], [{
key: "getHeader",
@@ -719,7 +724,7 @@ 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);
+ // console.log("index = ", index);
if (index === -1) return string;
var before = void 0,
select = void 0,
@@ -884,6 +889,7 @@ 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);
@@ -1019,7 +1025,7 @@ $(function () {
function createFilerLocations(data) {
var sb_loc_main = new _TreeSelect2.default({ $container: $('#sb-location-1'), data: data });
sb_loc_main.setHeader("Местоположение");
- var select_loc = new _SelectedContainer2.default($('#selected-location'), data, true);
+ var select_loc = new _SelectedContainer2.default($('#selected-location'), data);
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 });
@@ -1073,18 +1079,22 @@ $(function () {
fullData({ next: '/api/locations_flat', results: [] });
function tuneCheckBoxes($boxes) {
- $boxes.each(function () {
- if ($(this).find("input").prop("checked")) $(this).toggleClass('checked');
- });
- $boxes.on("click", function (e) {
- $(e.target).toggleClass('checked');
- $(e.target).attr('data-state', $(e.target).attr('data-state') == 'enabled' ? 'disabled' : 'enabled');
- var inside_checkBox = $(e.target).find("input");
- inside_checkBox.prop("checked", !inside_checkBox.prop("checked"));
- });
+ var currentState = $boxes.find("input").prop("checked") ? 'checked' : 'not-checked';
+ console.log("currentState = ", currentState);
+
+ $boxes.find("div").hide();
+ $boxes.find("div." + currentState).show();
}
- tuneCheckBoxes($('.custom-check'));
+ 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() {
diff --git a/assets/lib/proekton-components/css/other.css b/assets/lib/proekton-components/css/other.css
index 0a73de3..771bc63 100644
--- a/assets/lib/proekton-components/css/other.css
+++ b/assets/lib/proekton-components/css/other.css
@@ -1,5 +1,5 @@
/*DEMO*/
-.wrapper{
+.wrapper {
background-color: #f2f2f2;
padding: 40px;
margin: 50px 30px;
@@ -14,21 +14,44 @@
margin-bottom: 5px;
}
-.custom-check {
+.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;
- cursor: pointer;
}
-.custom-check.checked {
+.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;
diff --git a/assets/lib/proekton-components/css/select-box.css b/assets/lib/proekton-components/css/select-box.css
index 5b8def4..c87fec6 100644
--- a/assets/lib/proekton-components/css/select-box.css
+++ b/assets/lib/proekton-components/css/select-box.css
@@ -64,16 +64,16 @@
display: block;
max-height: 200px;
overflow-y: auto;
- /*border: 1px solid #cccccc;*/
+ border-top: 1px solid #cccccc;
background-color: #F2F2F2;
- box-shadow: 0 12px 10px -6px rgba(0, 0, 0, .2);
+ box-shadow: 5px 12px 10px -6px rgba(0, 0, 0, .2);
}
.select-box-results input[type=checkbox] {
margin: 0 5px 0 5px;
}
-.select-box-results .header{
+.select-box-results .header {
font-size: 8pt;
color: #757575;
pointer-events: none;
@@ -109,10 +109,10 @@
}
/*.select-box-results span:hover{*/
- /*color: green;*/
+/*color: green;*/
/*}*/
/*.select-box-search{*/
- /*position: relative;*/
+/*position: relative;*/
/*}*/
input.select-box-search {
@@ -127,6 +127,17 @@ input.select-box-search {
margin-bottom: -1px;
}
+input.select-box-search:-webkit-autofill,
+input.select-box-search:-webkit-autofill:hover,
+input.select-box-search:-webkit-autofill:focus,
+input.select-box-search:-webkit-autofill {
+ /*border: 0;*/
+ /*-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;
}
@@ -148,46 +159,32 @@ input.select-box-search {
min-width: 300px;
max-width: 400px;
}
-button.button-add{
+
+button.button-add {
box-shadow: none;
border: none;
}
.button-add {
- /*position: absolute;*/
+ position: relative;
+ top: 3px;
float: right;
z-index: 999;
font-family: Myriad;
font-weight: normal;
font-style: normal;
- font-size: 12pt;
+ font-size: 10pt;
-moz-border-radius: 15px; /* Firefox */
-webkit-border-radius: 15px; /* Safari 4 */
border-radius: 15px; /* IE 9, Safari 5, Chrome */
background-color: #FF0029;
- padding: 0 15px;
+ padding: 4px 15px 2px 15px;
/*border: none;*/
text-decoration: none;
color: white;
}
-/*.button-add .results {*/
- /*position: absolute;*/
- /*left: 280px;*/
- /*z-index: 999;*/
-/*}*/
-
-/*.button-add.options {*/
- /*position: absolute;*/
- /*!*FIXME: костыль*!*/
- /*left: 160px;*/
- /*z-index: 999;*/
- /*!*right: auto;*!*/
- /*!*@position: absolute;*!*/
- /*!*top: 40px;*!*/
-/*}*/
-
.highlight {
color: red;
}
diff --git a/assets/lib/proekton-components/src/base/AbsBaseSelect.js b/assets/lib/proekton-components/src/base/AbsBaseSelect.js
index d54bc76..c49a497 100644
--- a/assets/lib/proekton-components/src/base/AbsBaseSelect.js
+++ b/assets/lib/proekton-components/src/base/AbsBaseSelect.js
@@ -23,9 +23,9 @@ const tmpl_elementResult = (el, id, header) =>
const tmpl_elementOption = (el) =>
`${el.name}`;
//${vertical_child}
-const htmlTemplate = ({header, selectBox, id}) =>
+const htmlTemplate = ({header, selectBox, id, classes}) =>
`
-
+
@@ -47,7 +47,7 @@
name="keywords"
onkeydown="event.keyCode === 13 && $(this).closest('form').submit()"
value="{{ form.keywords.value }}"
- class="searchInp box-sizing"
+ class="select-box-search searchInp box-sizing"
placeholder="Ключевые слова, фразы">