Всем привет. Суть задачи:
Выделяю множество элементов (блоки и штриховки), среди которых есть блок (который несет в себе определенную инфу) и ему соответствует определенная штриховка (см. скриншот ниже):
Для того, чтобы упростить понимание задачи, допустим, что со штриховки я беру площадь, а с блока - высоту/толщину, далее высчитываю объем и записываю в таблицу - это упрощенный смысл плагина.
Если интересен неупрощенный смысл, то см. видео ниже:
(Александр Наумович, извиняюсь за видео с ютуба. Просто оно записано не для форума, а для других целей, но здесь уместно для полного понимания вопроса, а нет времени перезаписывать скринкаст.)
Так вот, до недавнего времени в плагине имелся один именно такой блок с
высотой/толщиной и одна конкретная штриховка с
площадью, поэтому задача решалась просто:
Я получал толщину с блока с конкретным именем и площадь штриховки с конкретным стилем:
Извините, вам запрещён просмотр содержимого спойлеров.
Я понимаю, что не совсем корректно 2 раза пробегаться по выделенным объектам, но до сегодняшнего дня меня это все устраивало и работало все тоже хорошо (очень буду признателен и за предложения насчет улучшения сего момента).
Так вот, что сегодня случилось?
Дело в том, что возникла необходимость иметь
несколько блоков с высотами/толщинами и
несколько штриховок с площадями. То есть пар может быть несколько, а не одна!
И я вот думаю, как связать конкретный блок с конкретной штриховкой.
За целый день, который я провел за рулем, у меня возникло 3 идеи:
1. Определять попадает ли блок на штриховку (данный блок находится на непечатном слое, его можно кинуть поверх штриховки и таким образом программно определить принадлежность)
Я только полагаю, что это можно сделать программно, но не совсем понимаю, как именно.
2. Дать возможность пользователю создавать в каком-то атрибуте блока поле на площадь штриховки, потом программно доставать из блока значение атрибута.
Вроде как простой вариант, но нужно руками создавать поле, что не очень удобно.
3. Создать кастомную штриховку, которая будет нести в себе и инфу о высоте/толщине.
Думаю, что такое возможно, но это совсем, пока что, недосягаемо для меня.
Так вот, прошу совета, как лучше всего поступить в данной ситуации (совета с учетом, что потом будет создана тема, как воплотить совет в жизнь;))?