meraproject/content/modulebz/js/module/init.js
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

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();
}
});
};