Skip to content

Conversation

@passionintellectual
Copy link
Contributor

Hi,
I have added few components for like strand-injector, strand-data-provider (for any processing of data and UI seperation), strand-pagination, strand-filter.

Please let me know in case, I missed any step or any code-changes or architectural changes required.
I will quickly implement those.

Thanks and Regards,

Ganesh Nemade.

…on rules, which will become available in the strand-filter (comparison dropdown). The same set of rules will be used in searchable behavior as well.
…dependencies, or also alter configuration objects or any factories.

When applied this behavior, user can get injector with method this.getInjector(); and use it's register and resolve dependencies methods.
TODO: Write a article regarding this if approved.
…ta-provider component. And can be used to actually compute the rows to be shown for current page.
…et with the help of various comparison rules. Comparison rules can be addded through Strand-Injector or ComparisonRulesProvider.

The behavior is capable of applying hierarchical search conditions on the data.
TODO:Need a good article to explain how it works.
…will be no visual appearance of this component. But user can use this component whenever data processing is needed. Also, this will keep UI logic completely different from data processing.
…datasets at client-side which can be then paginated through strand-data-provider.

Strand-filter uses ComparisonFunctions to compare the items to yield the filter result.
… of paging buttons. And if used with strand-data-provider, can be attached to any component with data.
@passionintellectual passionintellectual changed the title Develop Strand-filter and strand-pagination components. Apr 29, 2016
@dlasky
Copy link
Contributor

dlasky commented Apr 29, 2016

A large amount of code exists for the majority of this.

see mm-sync, mm-ajax, request.html and the ajax plugin system which handles pagination

@@ -0,0 +1,52 @@
{
"name":"mm-filter",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check out strand-array-munge

@passionintellectual
Copy link
Contributor Author

@dlasky I am taking this oportunity to thank MediaMath for offering such a scalable library to community. I enjoyed using these controls.

mm-sync, mm-ajax and ajax plugin is dealing with serverside communication. The components I came up would be more of data-source agnostic. I believe, this would help users experience the strand controls in the same way irrespective of where the data is coming, (e.g. client side, localstorage, server or anything like pouchdb/indexdb etc)

Strand-pagination and strand-filter are only providing the UI making no calls to any data source. But at the same time, it integrates with Strand-data-component which handles data processing like actual searching ( in case of strand-filter) . We can extend strand-data-component to communicate with mm-ajax and mm-sync internally with more configurations.

However, I may be missing something or be on the wrong track. Please guide in this case. I would like to know your views.
And thanks for your time.

@dlasky
Copy link
Contributor

dlasky commented Apr 29, 2016

I think thats partially a consequence of pushing too much stuff in a single PR, we try to separate them by a single component, or in extreme cases a tightly coupled set of components that are generally parent > child of eachother.

In terms of UX we don't want to allow for pagination. You'll notice that strand-item-recycler has an index property--which is sufficient to determine the page for pagable scenarios in dropdowns and grids. When sync is properly extended the indicies of the data source and the desired target can be bound and new pages are called and spliced into the source array on the fly.

The search stuff in particular is entirely to opinionated about data and is better left to the client application.

@dlasky
Copy link
Contributor

dlasky commented Aug 23, 2016

closing as stale

@dlasky dlasky closed this Aug 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants