|
Кто-нибудь делал поддержку истории (Ctrl+Z Ctrl+Y)? | ☑ | ||
---|---|---|---|---|
0
Юрий Лазаренко
01.11.11
✎
10:11
|
Есть форма, на ней поле HTML с набором объектов. Объекты можно перемещать мышой, изменять размер, менять текст внутри или цвет, удалять с поля и т.д.
Задача - реализовать ведение истории изменений, чтобы потом можно было отменить любое действие нажатием клавиш или, например, открыть окошко со списком изменений и отменить любое из них выбором. Кто-нибудь заморачивался этим? Или хотя бы ткните в примеры реализации. |
|||
1
Ёпрст
01.11.11
✎
10:14
|
я делал, только для клюшек.
По "кругу" гоняются вс реквизиты формы. |
|||
2
Ёпрст
01.11.11
✎
10:17
|
+1 для снеговика есть падобные поделки, только в части полностью сохраненных объектов ИБ (сохранение после нажатия кнопки "записать"), я же делал - сохранение атрибутов при любом изменении.
Под снеговика, с кандачка переписать не получится - там нет некоторых событий, реализованных в клюшках с помощью ВК. |
|||
3
Jstunner
01.11.11
✎
10:18
|
(0) ничего сложного
|
|||
4
Stepa86
01.11.11
✎
10:20
|
Сделать то легко - или сз или тз с колонками ИмяОбъекта, Значение. Но вот к горячим клавишам привязаться может быть сложнее
|
|||
5
Stepa86
01.11.11
✎
10:22
|
Тут главный вопрос, а нужна ли так сильно эта история?
|
|||
6
Юрий Лазаренко
01.11.11
✎
10:25
|
(1) "По кругу гоняются" это как?
(2) Мне алгоритм посмотреть, если не жалко конечно. В любом примере всегда можно взять что-то полезное. (5) Нужна. Во всяком случае были у меня уже моменты, когда ее не хватало, а раз так, то и у клиентов появится потребность. |
|||
7
Stepa86
01.11.11
✎
10:28
|
(6) при изменении поля клади его в стек, при восстановлении из стека просто подменяй поле сохраненным значением... при достаточной инкапсуляции стека можно сделать сперва версию на коленке "чтоб работало" за 10 минут, а при необходимости добавить плюшек, типа времени изменения, хранения между сеансами итп...
|
|||
8
Ёпрст
01.11.11
✎
10:28
|
(6) по Ctrl+z возвращаются предыдущие значения всех атрибутов,еще раз нажмешь - еще предыдущие и т.д..
|
|||
9
acsent
01.11.11
✎
10:28
|
(0) Не проще ли нормальный хтмл редактор запускать? Найти актив-х какой нибудь если уж очень хочестся в 1с
|
|||
10
Ёпрст
01.11.11
✎
10:31
|
(6) идея такая - перехватчиком ловитятся предопределенные события , в которых ведётся запись в ТЗ+ в формулу всех атрибутов формы программно устанавливается вызов своей процы, которая пишет в ТЗ.
По горячей клавише из ТЗ переписываются все значения атрибутов формы назад. |
|||
11
Ёпрст
01.11.11
✎
10:31
|
+10 но для html, такой способ не катит
:( |
|||
12
Юрий Лазаренко
01.11.11
✎
10:48
|
(10) Ну в общем как я и думал. А почему думаешь для HTML не прокатит? Я записываю в ТЗ УИД объекта, для которого произведено действие, тип действия (размер, перемещение, цвет, текст и т.д.) старые значения и новые значения. При отмене просто устанавливаем для объекта те атрибуты, которые сохранены в колонке "Старые значений".
(9) Я же не редактор леплю, а средство визуализации. Объекты HTML-поля привязаны к объектам БД, а сама вся эта поделка позволяет юзеру по-другому взглянуть на эти объекты, распределить их по определенным критериям и т.д. Поэтому необходимо перемещение, размер, установка текстовых пояснялок ну и отмена ошибочно или случайно сделанных действий. |
|||
13
Юрий Лазаренко
01.11.11
✎
10:51
|
(9) Можно, конечно, и редактор, но это сделает решение менее гибким и более тяжелым, так что не покатит такой вариант...
|
|||
14
polymorph
01.11.11
✎
10:54
|
не знаю как именно работает хтмл там но может прокатит пересоздание цсс файла и при откате подсовывать старый
|
|||
15
Юрий Лазаренко
01.11.11
✎
10:57
|
(14) CSS влияет на расцветку-компоновку всех объектов определенного типа, а мне надо дать юзеру возможность задать определенные параметры для каждого из объектов. То есть новый объект рисуется по правилам из CSS, а дальше юзер творит с ним все что хочет, и вот эти самые изменения надо в случае чего уметь откатить.
|
|||
16
polymorph
01.11.11
✎
11:04
|
(15) какие параметры? при изменении юзером объектов дублируй его изменения в цсс.
|
|||
17
Юрий Лазаренко
01.11.11
✎
11:12
|
(16) И для каждого объекта держать описание в CSS? Ну размер, положение и цвет так можно сохранять, а текст внутри?
Хотя, на самом деле, идея хорошая, кое-где ее можно применить, спасибо! |
|||
18
polymorph
01.11.11
✎
11:24
|
(17) ну может есть параметры текст по умолчанию.
|
|||
19
Юрий Лазаренко
01.11.11
✎
11:35
|
(18) Каскад - это разметка, не помню я там текста...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |