Расширения

disclaimer: IML предоставляет базовый функционал для разработки клиентской части приложений, но покрыть абсолютно весь спектр задач, с которыми сталкиваются программисты, невозможно. Поэтому мы добавили в IML поддержку расширений, которые позволяют любому разработчику расширять для его задач.

Есть решения

IML поддерживает разные сценария расширения:

  • Html extensions  – этот способ решает одну из самых важных задач DRY ( don’t repeat your self ) в простонародье Copy&Paste.

Примеры

№ 1

условие: получить данные через Ajax запрос, которые  вставить в контейнер ( dom элемент ) через template.

Реализация

примечание: в качестве входящего параметра используется Action<T>, где T это класс с настройками.

Применение

примечание:  используя анонимный делегат, можно настраивать extensions, что читается на много проще, чем N-ое количество аргументов в методе.

№2

условие: form с hash history

Реализация

Применение

  • Func во View – Razor позволяет использовать серверный код во время построения View и такая возможность, как делегат позволяет значительно уменьшить количество повторяемого кода.

Пример

условие: построить одинаковые элементы, но с разными параметрами.

  • Исполнители ( executable ) – этот способ позволяет разрабатывать максимально гибкие и мощные расширения, но требует дополнительных знаний работы IML и поэтому в этой статье тема будет раскрыта только на уровне обзора готовых решений.

 

IML Contrib

IML Contrib – это Jquery UIGoogle  Maps, и ряд других популярных плагинов, которые были выпущены в качестве отдельной сборки.

NuGet  Install-Package Incoding.MetaLanguage.Contrib

Расширения для Jquery UI

Tooltip

примечание:  в качестве значения для Content можно использовать Selector

Slider

Datepicker

Spinner

Dialog 

примечание:  пример демонстрирует связку Ajax запрос и Dialog

Географические карты

Google

примечание: маркеры можно получить используя Selector

Bing

примечание: маркеры можно получить используя Selector

Плагины JQuery

Pine Notifications

Block UI

примечание:  в качестве значения для Message можно использовать Selector

Autocomplete  

Vlad Kopachinsky

I am a Senior developer at Incoding Software in Russian Federation. I created the Incoding Framework for rapid development

More Posts - Website - Twitter - Facebook - LinkedIn

Leave a Reply