Maslosoft Ilmatar Widgets Logo Maslosoft Ilmatar Widgets
Twitter Bootstrap based, Knockout JS powered, PHP driven User Interface 

Knockout Powered Widgets

Widgets are generated by PHP, backed by Mangan and are seamlessly combined with Knockout JS bindings. Use widgets as if they were usual PHP widgets, and they will automatically round-trip from Mongo up to the HTML's elements and form inputs.

Widgets confguration is at minimum, all what they can - they take from model. When using widgets, developer or designer don't need to take care of field labels, data types, validation. Can focus on what's important - layout, arrangment - and can leave data related tasks to someone who's proficient with this.

Don't Repeat Yourself

Often, to create some data related form input, or grid column, display some information from database - at view where it is presented - user interface designer have to use proper data type related constructs. Whenever be it function calls or classes this add's a repeated code scattered all over the system. This have been overcome with common, precise definition, which can be used at different aspects of application. Once data model is defined, it can be properly stored, converted to other data types, displayed and edited - all without additional code or preparation.

Quick Example

Assume user model data types are defined. It's easy to define how it looks too. Will pull admin user from db too. In three lines.

Notice that only fields are passed, how are they rendered is defined once per whole application. Only crucial information is required here. This example is really executed here, no mockups!

echo $form = ActiveForm::widget(['model' => (new User)->findByUserName('admin')]);
echo $form->renderFields('username', 'firstName', 'lastName');
echo $form->close();