atk4 / ui Goto Github PK
View Code? Open in Web Editor NEWRobust and easy to use PHP Framework for Web Apps
Home Page: https://atk4-ui.readthedocs.io
License: MIT License
Robust and easy to use PHP Framework for Web Apps
Home Page: https://atk4-ui.readthedocs.io
License: MIT License
should be new \atk4\ui\Exception()
Tree documentation and src file is there but is not working.
created, see demos/buttons.php
App->url()
have hardcoded .php
extension for pages. Sometimes we want to use different extension, .html
for example.
Implement Lister and integration with Model
Our templates are similar to Moustache, but we use single bracket format {foo}
. At this point we can refactor to use {{foo}}
, but only for the tags.
Need a bit of a refactor for form saving especially into the SQL table. I'll open a PR momentarily.
App->url()
can't reference current URL.
What if I want to just refer current URL and add some additional GET arguments.
For example, this won't work to get current page
$url = $app->url([null, ['new_id' => 123]]);
Arguments ๐
Arguments ๐
e.g. http://ui.agiletoolkit.org/demos/table.php
Doesn't tell where I am and what this page is about or what is header for this page
Implement a bunch of basic views form Semantic UI (non interactive)
Create demo pages
We require ability to create JS action from inside PHP that will re-load a component.
Grid relies on Column_Checkbox, but there is no such column class in UI.
https://github.com/atk4/ui/blob/develop/src/Grid.php#L148
It's possible for ATK loaders to load any dynamic content without anticipating what's inside. Loaded component may rely on 3rd party JavaScript code.
There should be a mechanism for 3rd party component to dynamically load JavaScript library and make sure it's fully loaded before initializing <script> code.
Scenario:
WARNING: I have had problem with dynamic loading in the past in some situations for example WYSIWYG editors. Most jQuery based add-ons worked fine.
need to review and correct.
during form submission complains about https://github.com/macek/jquery-serialize-object not being available in the console log.
This works:
$view->on('click')->hide();
but this does not
$view->js('click')->hide();
A button that executes call-back to update value is broken.
We need to find a good JavaScript libraries to:
otherwise its' very confusing when jsCallback encounters error or some var-dump results are there.
currently in 'require'
Some things that need to be improved:
new jsReloader($view, ['foo'=>$bar])
$bar
above should allow jsExpressiondone in #18
<script src="https://code.jquery.com/jquery-3.1.1.js"></script>
$view->js()->univ()->reaload()
doesn't workWhen data is presented to the user, it needs to be formatted. Agile Data contains information about the type, and some meta information about the UI, but it does not contain logic for presenting data. That is a job of a User Interface.
For example, you may have a form field -> input, which will contain money, numeric, float etc. The field is theoretically the same, but the formatting logic is different.
๐ Traditionally we would use Field_Money, which knew how to display money and how to store it in the database.
๐ Alternatively we may introduce a new component just for formatting data. It can be used on Field_Line to display all sorts of things. It can also be used on Grid and Lister.
{name|uppercase}
Need to do research.
Need documentation!!
should also give a simple example.
Some components may require additional CSS / JS includes to function. The "Application" class needs to some methods for this.
Example:
$this->app->includeJS('https://code.jquery.com/jquery-3.1.1.js');
Additional note here - ability to install and use bundled resources.
Implement lister
Currently when you add column to grid, you can use:
$table->addColumn('name', new \atk4\ui\TableColumn\Link(['details.php?id={$id}']));
Columns contribute to formatting of the CELL but NOT DATA, so your "money" type will be formatted in 123,345.10 regardless. With existence of a Template (http://agile-ui.readthedocs.io/en/latest/grid.html#template) you already have a great deal of control over cell formatting. Finally you can extend TableColumn class and do more formatting yourself.
There may be cases, however, when multiple CELL formatters are necessary. For instance if you want to present "status" but also put a link over it. From the Agile UI perspective it complicates things, but if there are extensive use cases, then something like this could be implemented:
$grid->addColumn('rating', [
new \atk4\ui\TableColumn\Template('{$rating} out of 10'),
new \atk4\ui\TableColumn\Link('rate.php?id={$id}')
]);
I think this change can be done along with addition of un-named columns (e.g. radio boxes, actions, expanders etc).
Please provide your vote and comment below on a possible use-case I might have not considered
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.