среда, 16 апреля 2014 г.

Баг SharePoint Designer 2013

В связи с известиями о прекращении развития InfoPath и его отсутствии в новой версии SharePoint, а следовательно и невозможности миграции форм - было принято решение реализовать задачу с использованием JavaScript. Все делать исключительно на клиенте.

Изначально весь JS вставлял в стандартные формы списка.
Периодически весь JS код переставал работать.
Причиной было поведение SharePoint Designer 2013.
В код, который сбрасывал состояние элемента:

window.reset = function (e) {
   e.wrap('<form>').closest('form').get(0).reset();
   e.unwrap();
}


Дизайнер добавлял:
<head> 
<meta name="WebPartPageExpansion" content="full" /> 
</head> 
В итоге я получал:
window.reset = function (e) { 
    console.log("Начало выполнения функции 'window.reset"); 
    e.wrap('<head> 
    <meta name="WebPartPageExpansion" content="full" /> 
    </head> 
    <form>').closest('form').get(0).reset(); 
    e.unwrap(); 
}


Решить удалось подключая код отдельным файлом.
Как и должно быть.