Цитата:
Сообщение от bbb i ko
как организовать в коде такой механизм работы:
1. запускаем скрипт
2. выделяем панели
3. присваиваем идентификатор
4. снимаем выделение
пп 2,3,4 - в цикле
выход из цикла по кнопке "Завершить"
|
Надеюсь, правильно понял задачу. В данном скрипте пункты 3 и 4 выполняются одновременно по нажатию кнопки. Идентификатор беру числовой и увеличиваю его в зависимости от идентификаторов других объектов в модели.
Код
PHP код:
const PropName = 'UID_PROP';
Model.UnSelectAll();
// получить новый ID перебором всех объектов
function GetNewID(){
var result = 1;
Model.forEach(function (obj){
if (obj){
for (var i = 0; i < obj.UserPropCount; i++){
if (obj.UserPropertyName[i] == PropName){
var value = obj.UserProperty[i];
if (Number(value) >= result){
result = Number(value) + 1;
}
}
}
}
})
return result;
}
Action.Continue();
// список текущих панелей
var pList = [];
Action.Properties.NewButton('Назанчить ID').OnClick = ()=>{
var id = GetNewID();
for (var i = 0; i < pList.length; i++){
var obj = pList[i];
obj.Selected = false;
obj.UserProperty[PropName] = id;
}
// очищаем список
pList.length = 0;
}
var running = true;
Action.OnFinish = function (){
running = false;
}
while (running){
var p = GetPanel('Выделите панель');
p.Selected = true;
pList.push(p);
}
[свернуть]