I think if there're some sort of sandbox technique we can use for html,
it'll be really helpful on view side. As far as i know, the only safe
sandbox in html is using iframe and it's not seamless and difficult to use.
So for now, i think causing problem on view side (like overriding css) is
up to user.

On Sun, Mar 22, 2015 at 11:31 PM Corneau Damien <cornead...@apache.org>
wrote:

> I didn't see the original email... :'(
>
> There should not be any problem with user affecting the current notebook
> UI, at least on the scope level.
> Since we could create a particular scope variable in the app to take care
> of this kind of values.
>
> For things like event ($broadcast) and controllers, it could be a bit more
> complicated, and we might need to run it as a separate angular app.
> That's something we will have to investigate more.
>
> It would be nice to take it slow, and maybe start with only scope variable
> first.
>
> In some way we could have a similar result with %HTML, but it could bring
> some nice features:
>  - Create angular template that could be use to extend Zeppelin UI
>  - Allowing people to import javascript library (including graph library)
>  - Being able to have angular binding between the result of a query in a
> paragraph and an angular template in a different paragraph
>
> One limitation if we decide to go for full angular code, would be that
> cross-notebook relations would not work.
>
>
>
> On Sun, Mar 22, 2015 at 11:06 PM, RJ Nowling <rnowl...@gmail.com> wrote:
>
> > This sounds very useful. Would there be issues where users could easily
> > cause problems with the notebook's own UI?
> >
> >
> > > On Mar 22, 2015, at 7:57 AM, moon soo Lee <m...@apache.org> wrote:
> > >
> > > Hi,
> > >
> > > Zeppelin currently has feature that creates form dynamically. (
> > > http://zeppelin.incubator.apache.org/docs/dynamicform.html)
> > > It's only supporting simple input text and dropdown list.
> > >
> > > Recently Damien and Me discussed about ability to create rich GUI, and
> > i'm
> > > bringing the discussion to the online.
> > >
> > > Basic idea is adding '%angular' to display system
> > > <http://zeppelin.incubator.apache.org/docs/display.html>.
> > > Like currently supported '%html' that prints output as html code,
> > > '%angular' displays output as angular view. For example,
> > >
> > > println("""%angular Your name is {{ z.name }}. <a
> > > ng-click="z.onClickOkay()">ok</a>""")
> > >
> > > will compiled and rendered as angular view code. For variable (z.name)
> > and
> > > function (z.onClickOkay()), we can develop some kind of Js(angular
> > > controller) - JVM gateway so user will able to bind Object or Function
> > into
> > > the angular scope, like
> > >
> > > val name = "Zeppelin"
> > > z.angularBind("name", name)
> > >
> > > def onClickOkay() = {
> > >    ...}
> > > z.angularBind("onClickOkay", onClickOkay)
> > >
> > >
> > > In this way, user can implement their own customized visualizations and
> > > user interface without (almost) any limitation.
> > >
> > > What do you think?
> > > I'd appreciate any feedback!
> > >
> > > Best,
> > > moon
> >
>

Reply via email to