Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make components work without applyAuthorStyles #38

Closed
zoechi opened this issue Feb 3, 2014 · 24 comments
Closed

Make components work without applyAuthorStyles #38

zoechi opened this issue Feb 3, 2014 · 24 comments
Milestone

Comments

@zoechi
Copy link
Collaborator

zoechi commented Feb 3, 2014

This feature can be removed from Dart polyfills and Dartium anytime.

https://groups.google.com/forum/#!topic/polymer-dev/gNlsZDltpUY

'applyAuthorStyles' has been removed from the ShadowDOM spec and recently from Chrome Canary so I am looking for a replacement.

Polymer/old-docs-site#241

@akserg
Copy link
Owner

akserg commented Feb 3, 2014

Good point.

On 3 February 2014 11:37, Günter Zöchbauer [email protected] wrote:

This feature can be removed from Dart polyfills and Dartium anytime.

https://groups.google.com/forum/#!topic/polymer-dev/gNlsZDltpUY

'applyAuthorStyles' has been removed from the ShadowDOM spec and recently
from Chrome Canary so I am looking for a replacement.

Polymer/old-docs-site#241 Polymer/old-docs-site#241

Reply to this email directly or view it on GitHubhttps://github.com//issues/38
.

@akserg akserg modified the milestones: 0.3, 0.2 Feb 13, 2014
@ufoscout
Copy link
Collaborator

ufoscout commented Mar 7, 2014

Hi guys,
The more I work with the shadow dom the more I'm eager to see angular.dart providing the old good transclude mechanism for light dom.
From my point of view, when angular.dart will provide that feature, all our components have to be implemented to not use the shadow dom at all.

@akserg
Copy link
Owner

akserg commented Mar 7, 2014

Hi,
What the problem do you have with components? Why so radical ideas use only
light dom and directives?
Please elaborate.

Regards,
Sergey.

On 7 March 2014 11:50, Francesco [email protected] wrote:

Hi guys,
The more I work with the shadow dom the more I'm eager to see angular.dart
providing the old good transclude mechanism for light dom.
From my point of view, when angular.dart will provide that feature, all
our components have to be implemented to not use the shadow dom at all.

Reply to this email directly or view it on GitHubhttps://github.com//issues/38#issuecomment-37009673
.

@zoechi
Copy link
Collaborator Author

zoechi commented Mar 7, 2014

Hi,
interesting topic!

Google seems to be all for web components (with shadow DOM) but Bootstrap doesn't work with shadow DOM (yet?).
Polymer had the lightDOM attribute too but dropped it recently.

At first transclusion support has to be shipped. Is already someone working on it?.
And then it has to prove that is here to stay.

I don't even know what transclusion is capable of (never worked with Angular.js).
When I worked on the tab control I found it rather hard to implement the functionality like it was done in JS.

Will transclusion support components without shadowDOM or just add functionality of components with shadowDOM or both?

ApplyAuthorStyles was already dropped by PolymerJS. In a short time (weeks?) Dartium and polyfills will not support it anymore either.
What if transclusion is not yet available then?

Maybe Bootstrap is interested in including our customizations.
Angular is quite popular (Dart and JS) and the JS (AngularUI) folks might think about jumping on the custom elements wagon too.
What if AngularJS thinks about discontinuing transclusion in favor of custom elements to keep development of AngularDart/JS synchronized?
It would also allow to build bootstrap elements as Polymer or XTags elements.

I guess a decision has to be made how to proceed.

  1. customize bootstrap
  2. use transclusion
  3. keep components (with customized bootstrap) and eventually add additional implementations which use lightDOM and vanilla bootstrap when transclusion is available
    4 other options?

Currently I see only 1.) as a realistic strategy. The others might be considered in the future.
What do you think?

Cheers
Günter

@alexisargyris
Copy link

hello,

another factor to keep in mind is how straightforward (or not, or
completely impossible) is the "compilation" to javascript so that other
browsers (which?, versions?), apart from Dartium, might be used too

best regards

alexis

On Fri, Mar 7, 2014 at 1:07 PM, Günter Zöchbauer
[email protected]:

Hi,
interesting topic!

Google seems to be all for web components (with shadow DOM) but Bootstrap
doesn't work with shadow DOM (yet?).
Polymer had the lightDOM attribute too but dropped it recently.

At first transclusion support has to be shipped. Is already someone
working on it?.
And then it has to prove that is here to stay.

I don't even know what transclusion is capable of (never worked with
Angular.js).
When I worked on the tab control I found it rather hard to implement the
functionality like it was done in JS.

Will transclusion support components without shadowDOM or just add
functionality of components with shadowDOM or both?

ApplyAuthorStyles was already dropped by PolymerJS. In a short time
(weeks?) Dartium and polyfills will not support it anymore either.
What if transclusion is not yet available then?

Maybe Bootstrap is interested in including our customizations.
Angular is quite popular (Dart and JS) and the JS (AngularUI) folks might
think about jumping on the custom elements wagon too.
What if AngularJS thinks about discontinuing transclusion in favor of
custom elements to keep development of AngularDart/JS synchronized?
It would also allow to build bootstrap elements as Polymer or XTags
elements.

I guess a decision has to be made how to proceed.

  1. customize bootstrap
  2. use transclusion
  3. keep components (with customized bootstrap) and eventually add
    additional implementations which use lightDOM and vanilla bootstrap when
    transclusion is available
    4 other options?

Currently I see only 1.) as a realistic strategy. The others might be
considered in the future.
What do you think?

Cheers
Günter


Reply to this email directly or view it on GitHubhttps://github.com//issues/38#issuecomment-37014881
.

@ufoscout
Copy link
Collaborator

ufoscout commented Mar 7, 2014

I daily work with angular JS and, "unluckily", everything is much simpler compared to angular dart.
When I say "simpler" I mean that you create a directive that you expect to look in a specific way and it will look exactly as expected. The development process is quite natural and logic.
With the shadow dom it is not the same.
It breaks nearly every css framework has ever been written. With angular dart I'm always feeling that I'm spending my time implementing workarounds instead of solutions.
If you look at the tab component that I wrote, you'll find an explicit workaround in the 'tab-heading-transclude' in which I was forced to manually move some element from one node to another to not break the bootstrap css rules. But it is not the only case, I add to rewrite the entire logic multiple times to find something that worked properly with bootstrap.
I will never be able to push angular dart in my company because it does not work with our css frameworks and, of course, nobody is happy of throwing away years of job.
From my point of view, it is wrong to think that "the tabset is a component AND every tab is a component AND every tab header is a component AND every tab content is component". This is just crazy. I could accept that the tabset is a component and everything into him it's part of the same component. The purpose of the Shadow Dom is to isolate components from the global context, that way it makes difficult to create a component of components.
If we do not use the shadow dom, then all our (light) components can be used to create any kind of shadow dom components. The opposite is not true.

@zoechi
Copy link
Collaborator Author

zoechi commented Mar 7, 2014

I think I know how you feel. I also see it as a big problem that the shadowDOM breaks all CSS frameworks. There is no easy transition.

Especially the tab component got very complicated. I didn't have such big problems with any of the other components. Progress Bar caused some troubles too as far as I remember.

Have you information about progress with the transclude functionality?

@ufoscout
Copy link
Collaborator

ufoscout commented Mar 7, 2014

No, I have no news about transclude.

@zoechi
Copy link
Collaborator Author

zoechi commented Mar 20, 2014

@akserg akserg modified the milestones: 0.4, 0.3 Apr 15, 2014
@radicaled
Copy link

Looks like transclude support was just committed (good timing, too, I was just about to start migrating some stuff away from AngularDart).

dart-archive/angular.dart#936

@vicb
Copy link

vicb commented Apr 23, 2014

@radicaled that's a bit convoluted way to say thank you but I'm sure James will appreciate :)

@radicaled
Copy link

Sorry @vicb, I'm pretty blunt when I'm not on the clock. I do appreciate
the work since I'm an early adopter myself along with my clients. :)

@vicb
Copy link

vicb commented Apr 23, 2014

@radicaled no problem, I am occasionally teasing. Thanks for your kind words.

@akserg akserg modified the milestones: 0.5, 0.4 May 5, 2014
@ufoscout
Copy link
Collaborator

What is the decision then?
Are we going to use "useShadowDom: false" in all the components starting with version 0.5?

@sdeleuze
Copy link

applyAuthorStyle support has been removed in Chrome 35 which has been released today (at least on mac), please update Angular Dart UI to use useShadowDom: false !

@akserg
Copy link
Owner

akserg commented May 21, 2014

Why we must change working components to use useShadowDom: false?

On 21 May 2014 10:30, Sébastien Deleuze [email protected] wrote:

applyAuthorStyle support has been removed in Chrome 35 which has been
released today (at least on mac), please update Angular Dart UI to use
useShadowDom: false !


Reply to this email directly or view it on GitHubhttps://github.com//issues/38#issuecomment-43727540
.

@sdeleuze
Copy link

Because with Chrome 35, applyAuthorStyle: true does not work anymore, and all components are broken.

@ufoscout
Copy link
Collaborator

Why we must change working components to use useShadowDom: false?

Because most of the components have to be changed to not use the shadow dom. For me this is right opportunity to change them all and to finally have a library that runs fine in every browser without the need of external polyfills.

@akserg
Copy link
Owner

akserg commented May 21, 2014

Ok, I see you points now.
Who would like to help me?

On 21 May 2014 15:30, Francesco [email protected] wrote:

Why we must change working components to use useShadowDom: false?
Because most of the components have to be changed to not use the shadow
dom. For me this is right opportunity to change them all and to finally
have a library that runs fine in every browser without the need of external
polyfills.


Reply to this email directly or view it on GitHubhttps://github.com//issues/38#issuecomment-43753940
.

@ufoscout
Copy link
Collaborator

Who would like to help me?

I'm currently busy with the Sortable component which is foreseen for 0.5.
However, this is my proposal:

  • delay Sortable and Drag&Drop to 0.6;
  • concentrate our efforts to implement this ticket.

@akserg
Copy link
Owner

akserg commented May 21, 2014

I agree.
My grid implementation can be delayed until next release as well.
There are list of components we should change:

  • accordion
  • alert
  • carousel
  • datepicker
  • modal
  • pagination
  • progressbar
  • rating
  • tabs
  • timepicker
  • typeahead

I think this issue can be closed because is not constructive. Better have
unique issue per component.
So, I have create list of issues on GitHub. Please find them in release
0.5. Don't forget to assign selected one on you name, so we don't disturb
each other.

Good hunting,
Sergey.

On 21 May 2014 17:07, Francesco [email protected] wrote:

Who would like to help me?
I'm currently busy with the Sortable component which is foreseen for 0.5.
However, this is my proposal:

@ufoscout
Copy link
Collaborator

Ok, let's start it. I'll start from the tabs. Do we work directly on the master?

@akserg
Copy link
Owner

akserg commented May 21, 2014

I think yes.

On 21 May 2014 17:58, Francesco [email protected] wrote:

Ok, let's start it. I'll start from the tabs. Do we work directly on the
master?


Reply to this email directly or view it on GitHubhttps://github.com//issues/38#issuecomment-43775908
.

@akserg
Copy link
Owner

akserg commented May 23, 2014

Closed because is not constructive. Look at inherited issues:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants