meraproject/lib/js/bws/react/crm_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

122 lines
2.9 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;
import './form/class/form.js';
import './form/class/input.js';
import './canban/canban.js';
import './ui/notify.js';
window.initReact = function ($html, data = {}) {
var a, getData, i, j, k, l, len, len1, len2, len3, m, n, p, r, s, time;
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;
}; // Рендер таблиц
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_canban');
for (k = 0, len1 = a.length; k < len1; k++) {
i = a[k];
ReactDOM.render( /*#__PURE__*/React.createElement(Canban, {
data: getData(i),
columns: getData(i, 'columns'),
callback: i.getAttribute('data-callback'),
onCellClick: i.getAttribute('data-cell-click')
}), i);
} // Карточки
a = $html[0].querySelectorAll('.r_card');
for (m = 0, len2 = a.length; m < len2; m++) {
i = a[m];
ReactDOM.render( /*#__PURE__*/React.createElement(Card, {
data: getData(i)
}), i);
} // Форма авторизации
a = $html[0].querySelectorAll('#form_auth');
for (n = 0, len3 = a.length; n < len3; n++) {
i = a[n];
l = {};
l[Input.PLACEHOLDER] = 'Логин';
l[Input.LABEL] = 'Логин';
l[Input.TYPE] = INPUT_TYPE.TEXT;
l[Form.KEY_VALUE] = 'login';
p = {};
p[Input.PLACEHOLDER] = 'Пароль';
p[Input.LABEL] = 'Пароль';
p[Input.TYPE] = INPUT_TYPE.PASSWORD;
p[Form.KEY_VALUE] = 'pass';
s = {};
s[Input.TYPE] = INPUT_TYPE.SUBMIT;
s[Input.LABEL] = 'Авторизоваться';
s[Input.CSS_CLASS] = 'blue';
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.profile/login', s, function (data) {
if (data.e === 1) {
return console.log(data);
} else {
// $res.html(data.m).show(300)
return window.location.reload();
}
});
};
//# sourceMappingURL=crm_init.js.map