2019-09-13 22:47:07 +12:00
|
|
|
(function(window) {
|
|
|
|
"use strict";
|
2019-05-09 18:54:39 +12:00
|
|
|
|
2019-09-13 22:47:07 +12:00
|
|
|
window.ls.container.get("view").add({
|
|
|
|
selector: "data-forms-text-direction",
|
2020-05-01 04:35:22 +12:00
|
|
|
controller: function(element, rtl) {
|
|
|
|
|
2019-09-13 22:47:07 +12:00
|
|
|
var setDirection = function() {
|
|
|
|
var value = element.value[0] ? element.value : "";
|
|
|
|
var direction = "ltr";
|
|
|
|
var align = "left";
|
2019-05-09 18:54:39 +12:00
|
|
|
|
2020-05-01 04:35:22 +12:00
|
|
|
if (rtl.isRTL(value)) {
|
2019-09-13 22:47:07 +12:00
|
|
|
direction = "rtl";
|
|
|
|
align = "right";
|
|
|
|
}
|
2019-05-09 18:54:39 +12:00
|
|
|
|
2019-09-13 22:47:07 +12:00
|
|
|
element.style.direction = direction;
|
|
|
|
element.style.textAlign = align;
|
|
|
|
};
|
2019-05-09 18:54:39 +12:00
|
|
|
|
2019-09-13 22:47:07 +12:00
|
|
|
element.addEventListener("keyup", setDirection);
|
|
|
|
element.addEventListener("change", setDirection);
|
|
|
|
element.addEventListener("cut", setDirection);
|
|
|
|
element.addEventListener("paste", setDirection);
|
|
|
|
element.addEventListener("drop", setDirection);
|
2019-05-09 18:54:39 +12:00
|
|
|
|
2019-09-13 22:47:07 +12:00
|
|
|
setDirection();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
})(window);
|