173 lines
4.2 KiB
JavaScript
173 lines
4.2 KiB
JavaScript
/*
|
|
r = (c,x)->
|
|
for i in ($html[0]).querySelectorAll(c)
|
|
ReactDOM.render(x,i)
|
|
r('#modals', <Modals ref={(i)=>A.W.modals = i}/>)
|
|
*/
|
|
var auth;
|
|
|
|
window.initReact = function ($html, data = {}) {
|
|
var a, date, getData, i, j, k, l, len, len1, len2, m, o, p, r, s, time;
|
|
|
|
if (data == null) {
|
|
data = {};
|
|
}
|
|
|
|
time = new Date().getTime();
|
|
|
|
getData = function (i, attr = 'data') {
|
|
var e;
|
|
data = i.getAttribute('data-' + attr);
|
|
|
|
try {
|
|
data = JSON.parse(data);
|
|
} catch (error) {
|
|
e = error;
|
|
data = {};
|
|
}
|
|
|
|
i.removeAttribute('data-' + attr);
|
|
return data;
|
|
};
|
|
|
|
r = function (c, x) {
|
|
var i, j, len, ref, results;
|
|
ref = $html[0].querySelectorAll(c);
|
|
results = [];
|
|
|
|
for (j = 0, len = ref.length; j < len; j++) {
|
|
i = ref[j];
|
|
results.push(ReactDOM.render(x, i));
|
|
}
|
|
|
|
return results;
|
|
};
|
|
|
|
r('.r_portfolio_list', /*#__PURE__*/React.createElement(PortfolioList, {
|
|
data: data.portfolio_list
|
|
}));
|
|
r('.r_news_list', /*#__PURE__*/React.createElement(NewsAnnotationList, {
|
|
data: data.news_annotation
|
|
}));
|
|
r('.r_service_list', /*#__PURE__*/React.createElement(ServiceList, {
|
|
data: data.service_list
|
|
}));
|
|
r('.r_service_icons', /*#__PURE__*/React.createElement(ServiceIconsList, {
|
|
data: data.service_icons
|
|
}));
|
|
r('.r_updates_list', /*#__PURE__*/React.createElement(UpdatesAnnotationList, {
|
|
data: data.updates_annotation
|
|
}));
|
|
r('.r_announcement_list', /*#__PURE__*/React.createElement(AnnouncementAnnotationList, {
|
|
data: data.announcement_annotation
|
|
}));
|
|
r('.r_turnkey_list', /*#__PURE__*/React.createElement(TurnkeyAnnotationList, {
|
|
data: data.turnkey_annotation
|
|
})); // SERVICES
|
|
// MONEY
|
|
|
|
r('.r_money_dash.new', /*#__PURE__*/React.createElement(MoneyDash, {
|
|
type: "new"
|
|
}));
|
|
|
|
for (date in data.money_data) {
|
|
a = data.money_data[date];
|
|
|
|
if (a.minus != null) {
|
|
r('.r_money_minus[data-date="' + date + '"]', /*#__PURE__*/React.createElement(MoneyList, {
|
|
type: "minus",
|
|
data: a.minus
|
|
}));
|
|
}
|
|
|
|
if (a.plus != null) {
|
|
r('.r_money_plus[data-date="' + date + '"]', /*#__PURE__*/React.createElement(MoneyList, {
|
|
type: "plus",
|
|
data: a.plus
|
|
}));
|
|
}
|
|
|
|
if (a.transfer != null) {
|
|
r('.r_money_transfer[data-date="' + date + '"]', /*#__PURE__*/React.createElement(MoneyList, {
|
|
type: "transfer",
|
|
data: a.transfer
|
|
}));
|
|
}
|
|
} // Рендер формы авторизации
|
|
|
|
|
|
a = $html[0].querySelectorAll('.r_table');
|
|
|
|
for (j = 0, len = a.length; j < len; j++) {
|
|
i = a[j];
|
|
ReactDOM.render( /*#__PURE__*/React.createElement(Table, {
|
|
data: getData(i)
|
|
}), i);
|
|
} // Карточки
|
|
|
|
|
|
a = $html[0].querySelectorAll('.r_card');
|
|
|
|
for (k = 0, len1 = a.length; k < len1; k++) {
|
|
i = a[k];
|
|
data = i.getAttribute('data-data');
|
|
|
|
if (window[data] !== void 0) {
|
|
console.log(data, window[data]);
|
|
data = JSON.parse(window[data]);
|
|
} else {
|
|
data = getData(i);
|
|
}
|
|
|
|
ReactDOM.render( /*#__PURE__*/React.createElement(Card, {
|
|
data: data
|
|
}), i);
|
|
} // Форма авторизации
|
|
|
|
|
|
a = $html[0].querySelectorAll('#form_auth');
|
|
|
|
for (m = 0, len2 = a.length; m < len2; m++) {
|
|
i = a[m];
|
|
o = {};
|
|
o[Input.PLACEHOLDER] = 'Логин';
|
|
o[Input.TYPE] = INPUT_TYPE.TEXT;
|
|
l = {};
|
|
l[Form.INPUT_OPT] = o;
|
|
l[Form.KEY_VALUE] = 'login';
|
|
o = {};
|
|
o[Input.PLACEHOLDER] = 'Пароль';
|
|
o[Input.TYPE] = INPUT_TYPE.PASSWORD;
|
|
p = {};
|
|
p[Form.INPUT_OPT] = o;
|
|
p[Form.KEY_VALUE] = 'pass';
|
|
o = {};
|
|
o[Input.TYPE] = INPUT_TYPE.SUBMIT;
|
|
o[Input.LABEL] = 'Авторизоваться';
|
|
o[Input.CSS_CLASS] = 'blue';
|
|
s = {};
|
|
s[Form.INPUT_OPT] = o;
|
|
ReactDOM.render( /*#__PURE__*/React.createElement(Form, {
|
|
inputs: [l, p, s],
|
|
onSubmit: auth
|
|
}), i);
|
|
}
|
|
|
|
return console.log('React Render', new Date().getTime() - time);
|
|
};
|
|
|
|
window.firstInitReact = function ($html, data = {}) {};
|
|
|
|
auth = function (x) {
|
|
var s;
|
|
s = x.values;
|
|
s.dataType = 'JSON';
|
|
return API('core.user.account/login', s, function (data) {
|
|
if (data.e === 1) {
|
|
return console.log(data);
|
|
} else {
|
|
// $res.html(data.m).show(300)
|
|
return window.location.reload();
|
|
}
|
|
});
|
|
}; |