Fix locked elements problem

This commit is contained in:
2017-05-10 02:11:46 +07:00
parent 513e477214
commit 3c5f3784e5
4 changed files with 31 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
###### Version 1.3.8 ###### Version 1.3.8
* Fix shape groups in tweens problems * Fix shape groups in tweens problems
* Fix locked elements problem
###### Version 1.3.7 ###### Version 1.3.7
* Fix multiple import * Fix multiple import

View File

@@ -140,6 +140,18 @@
ft.type_assert(rhs, 'string'); ft.type_assert(rhs, 'string');
return ft.escape_path(lhs) + ft.escape_path(rhs); return ft.escape_path(lhs) + ft.escape_path(rhs);
}; };
ft.array_any = function (arr, func) {
ft.type_assert(arr, Array);
ft.type_assert(func, Function);
for (var index = 0; index < arr.length; ++index) {
var value = arr[index];
if (func(value)) {
return true;
}
}
return false;
};
ft.array_foldl = function (arr, func, acc) { ft.array_foldl = function (arr, func, acc) {
ft.type_assert(arr, Array); ft.type_assert(arr, Array);
@@ -336,7 +348,7 @@
ftdoc.unlock_all_timelines = function (doc) { ftdoc.unlock_all_timelines = function (doc) {
ft.type_assert(doc, Document); ft.type_assert(doc, Document);
ftlib.unlock_all_timelines(doc, doc.library); ftlib.unlock_all_timelines(doc, doc.library);
fttim.unlock(doc.getTimeline()); fttim.unlock(doc, doc.getTimeline());
}; };
ftdoc.prepare_all_groups = function (doc) { ftdoc.prepare_all_groups = function (doc) {
@@ -516,7 +528,7 @@
ft.type_assert(doc, Document); ft.type_assert(doc, Document);
ft.type_assert(library, Library); ft.type_assert(library, Library);
ftlib.edit_all_symbol_items(doc, library, function (item) { ftlib.edit_all_symbol_items(doc, library, function (item) {
fttim.unlock(item.timeline); fttim.unlock(doc, item.timeline);
}); });
}; };
@@ -683,11 +695,20 @@
return layer.layerType != "guide"; return layer.layerType != "guide";
}; };
fttim.unlock = function (timeline) { fttim.unlock = function (doc, timeline) {
ft.type_assert(doc, Document);
ft.type_assert(timeline, Timeline); ft.type_assert(timeline, Timeline);
ft.array_foreach(timeline.layers, function (layer) { ft.array_foreach(timeline.layers, function (layer, layer_index) {
layer.locked = false; layer.locked = false;
layer.visible = true; layer.visible = true;
timeline.setSelectedLayers(layer_index);
ft.array_foreach(layer.frames, function (frame, frame_index) {
timeline.currentFrame = frame_index;
timeline.setSelectedFrames(frame_index, frame_index + 1, true);
try {
doc.unlockAllElements();
} catch (e) {}
}, fttim.is_keyframe);
}); });
}; };
@@ -838,6 +859,10 @@
var group_depth = group.depth; var group_depth = group.depth;
doc.unGroup(); doc.unGroup();
try {
doc.unlockAllElements();
} catch (e) {}
var wrapper_item_name = ft.gen_unique_name(); var wrapper_item_name = ft.gen_unique_name();
var wrapper_item = doc.convertToSymbol("graphic", wrapper_item_name , "top left"); var wrapper_item = doc.convertToSymbol("graphic", wrapper_item_name , "top left");
for (var i = 0; i < group_depth; ++i) { for (var i = 0; i < group_depth; ++i) {

View File

@@ -55,7 +55,7 @@ https://gist.github.com/talecrafter/111ea3345911bd238f4998b4d5a04bf3
**** TODO Интеграция с автобилдами **** TODO Интеграция с автобилдами
**** TODO Избавиться от условия на _ExternalAlpha **** TODO Избавиться от условия на _ExternalAlpha
**** TODO Добавить возможность брать bounds у клипа **** TODO Добавить возможность брать bounds у клипа
**** TODO Элемент может быть залокан (element.locked) **** DONE Элемент может быть залокан (element.locked)
**** DONE Возможно не стоит преобразовывать группы в символы **** DONE Возможно не стоит преобразовывать группы в символы
Таки стоит, но с рекурсивным выносом в отдельные символы и последующей их обработкой Таки стоит, но с рекурсивным выносом в отдельные символы и последующей их обработкой
**** TODO В ошибках конвертации писать, что нужно прогнать через скрипт экспорта **** TODO В ошибках конвертации писать, что нужно прогнать через скрипт экспорта