Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 27 21:03
    justinbmeyer commented #5464
  • Jan 27 20:33
    bmomberger-bitovi opened #5464
  • Jan 27 19:13

    greenkeeper[bot] on @octokit

    (compare)

  • Jan 27 19:12

    greenkeeper[bot] on @octokit

    chore(package): update @octokit… (compare)

  • Jan 27 14:09
    rjgotten edited #5463
  • Jan 27 13:57
    rjgotten edited #5463
  • Jan 27 13:48
    rjgotten edited #5463
  • Jan 27 13:45
    rjgotten edited #5463
  • Jan 27 12:20
    rjgotten edited #5463
  • Jan 27 09:42
    rjgotten edited #5463
  • Jan 27 09:04
    rjgotten opened #5463
  • Jan 26 16:06
    chamsou123 starred canjs/canjs
  • Jan 25 20:18

    greenkeeper[bot] on @octokit

    (compare)

  • Jan 25 20:16

    greenkeeper[bot] on @octokit

    chore(package): update @octokit… (compare)

  • Jan 24 23:05
    greenkeeper[bot] commented #5422
  • Jan 24 23:05

    greenkeeper[bot] on @feathersjs

    chore(package): update @feather… (compare)

  • Jan 24 23:05
    greenkeeper[bot] commented #5401
  • Jan 24 23:05

    greenkeeper[bot] on @feathersjs

    chore(package): update @feather… (compare)

  • Jan 24 22:58

    greenkeeper[bot] on @octokit

    (compare)

  • Jan 24 22:57

    greenkeeper[bot] on @octokit

    chore(package): update @octokit… (compare)

Thomas Sieverding
@Bajix
Does StealJs just do a SystemJS trace for stache files, build, cache, reset config, and rebuild?
Viktor Busko
@Lighttree

Hi guys,
I'm doing some research for new project and would like to know some opinions. Basically we are using CanJS in scope of our Java application already. But this is still Java app with some CanJS insertions on couple of pages.
We are starting new stream (project) and I would like to go with full client-side app (with Java as web-services), but in some reason I can't just use DoneJS (it is awesome actually and do all the things that I need :D), mostly because there is couple of reasons from customer side (it will be hardly possible to have NodeJS on production) and tech-stack that already used on the project.
It seems that I have to create my own bicycle for build/deploy etc.
For now I see 2 ways:
1) go with NPM scripts (uglify-js, eslint, node-sass, etc) and build everything into one bundle. (this way seems easiest and straightforward to develop/maintain and since the app itself not so large, I think I don't really need progressive-loading)
2) go with WebPack :| (hard and painful, but functionality close to steal, seems like more future-proof)

Maybe someone has any suggestions or experience with such approaches :)

Mohamed Cherif Bouchelaghem
@cherifGsoul
Hi @Lighttree I use this approach with PHP for non-single page applications where I use canjs in some parts like poll system or likes/deslikes widgets with comments etc
Viktor Busko
@Lighttree
@cherifGsoul Hi, well actually this is how we work with CanJS also. But I'm trying to push CanJS (DoneJS if it will be possible) as main framework for single-page applications. And go from JSP pages to small single page apps. So I have to establish some process to build and deploy client-side apps, because currently we do it by some Java (maven etc.) and our custom tools.
Chris
@chrischrischris
Hi, I'm trying out canjs for the first time and really enjoying it, however I've got a simple problem that I can't find an answer to: I have a Component that uses a .stache template loaded using can.view. The data for the component is loaded in the viewModel using articles: Article.findAll(). In my template I'm using {{#each articles}} but I get a "TypeError: Cannot use 'in' operator to search for 'xxx' in pending" which is happening as it's trying to render before the data is loaded. Any simple pointers for me?
Also interestingly if I don't use a property within the {{each}} loop, it loops 9 times before any data is even loaded
Chris
@chrischrischris
And of course, once I ask for help online, I figure it out myself =). I've got it going thanks to the can.List.promise docs
Mohamed Cherif Bouchelaghem
@cherifGsoul
@chrischrischris nice
Chris
@chrischrischris
New question: I have a Model that pulls data from a rest api using findall, and also have a define property defined in the model instance that is a computed property from the rest data. I want to pass this define property to sub-component, but the value is never passed (using {subComponentProp}="definedProperty". I can see the correct value in the parent component - and in the console the property is visible via attr('definedProperty'), but not via .definedProperty. Any ideas how I can pass this value to the subcomponent?
Thomas Sieverding
@Bajix
Markup?
Chris
@chrischrischris
@Bajix - is that in response to my question? I don't follow what you mean by Markup?
Thomas Sieverding
@Bajix
Oh so you need to use .attr to read computed values
Chris
@chrischrischris
yes and that works, but I can't figure out how to pass that value in the stache template
Thomas Sieverding
@Bajix
{title}=“page.title"
That’ll set viewModel.title whenever page.title is changed
Oh you probably have a capitalization issue
The attribute name needs to be lowercase
{sub-component-prop}=“myModel.computedProperty"
kebab case -> camel case
kabab case = snake case w/ dashes instead of underscores
Chris
@chrischrischris
Code Exerpt:
{{#each articles}}
    <p>This works: {{previewImgURL}}</p>
    <!-- passing in previewImgURL doesn't work below -->
    <article-tile {imageURL}="previewImgURL" {articleTitle}="title" />
{{/each}}
Thomas Sieverding
@Bajix
That’s incorrect
{{#each articles}}
    <p>This works: {{previewImgURL}}</p>
    <!-- passing in previewImgURL doesn't work below -->
    <article-tile {image-url}="previewImgURL" {article-title}="title" />
{{/each}}
Chris
@chrischrischris
ok, i'll try - but articleTitle works (2nd param)
Thomas Sieverding
@Bajix
imageURL isn’t a good property name, as it can’t be converted sanely between different casing
You should do imageUrl instead so that your attribute would be {image-url}=“{post.imageUrl}"
Possibly, I hadn’t played around with type sensitivity w/ the new binding syntax
AFAIK attribute names shouldn’t contain capitalized letters
Chris
@chrischrischris
ok yep - thanks so much! I didn't see anything about casing / kebab casing in the docs anywhere
but that was the issue. Been banging my head on the keyboard for a while so I really appreciate the help
Thomas Sieverding
@Bajix
Yea, I believe it’s mentioned in there somewhere, but not sure where
All of their examples use kebab casing at the very least
Chris
@chrischrischris
yeah - i think the fact that articleTitle was working for me made it that much harder to suspect that
Thomas Sieverding
@Bajix
Yea, and it’s only the attribute name that’s type sensitive
Oh they probably do that because attribute names are case insensitive, so FooBar===foobar
Chris
@chrischrischris
ah ok, that makes sense
Viktor Busko
@Lighttree

https://canjs.com/docs/can.view.bindings.twoWay.html

Someone know why can throw warning on this page ? (in console)
WARN: can/view/stache/mustache_core.js: Unable to find key or helper "plateName". Because I have same warnings in my code and can't find the reason. There is also another case when I have different Issue with WARN: can/view/scanner.js: No custom element found for my-parent-component-tagMaybe some updates in Can ?

Mohamed Cherif Bouchelaghem
@cherifGsoul
@Lighttree you use can.jquery.dev.js
if so just use can.jquery.js
for the first check if you have plateName in your viewModeland the later check the component tag existance
Justin Meyer
@justinbmeyer
@Lighttree are you using Mustache on purpose?
you should use stache if you can
The reason you'll see those warnings are because:
  1. you have something like {{plateName}}, but there's no object with a plateName property defined in the scope. This can be ok. It's just a warning. In those cases, it's faster if you do something like {{./plateName}}. Giving a hint on where to look speeds up the bindings.
2. At the time of running the template, there's no my-parent-component-tag component defined.
Mohamed Cherif Bouchelaghem
@cherifGsoul
@justinbmeyer How we can know that mustacheis used here?
Justin Meyer
@justinbmeyer
can/view/scanner is not used by stache.
Mohamed Cherif Bouchelaghem
@cherifGsoul
ok thank you
Viktor Busko
@Lighttree

@justinbmeyer
"are you using Mustache on purpose?" I am not :)
All my components generated by DoneJS generator (and all the templates are .stache), so not sure what can cause mustache processing.
What I'm trying to do is repeat behaviour from the end of this video: https://www.youtube.com/watch?v=mKOwwcKRBic (Share value between 2 components).

This is template for "parent" component that should import 2 others and child components should share data between each other.

<can-import from="trialsetup/components/user-edit-form/user-edit-form" />
<section class="container">
  <header class="row">
    <div class="col-md-12">
      <h1>Lets get you set up with recognition</h1>
      <p class="lead">Add your details below</p>
    </div>
  </header>
  <main class="row">
    <div class="col-md-7">
      <gf-user-edit-form></gf-user-edit-form>
    </div>
    <div class="col-md-5">
      Placeholder for the second component
    </div>
  </main>
</section>

So I'm going to use reference binding here like "*myReference"But as soon as I add input with 2-way binding to "user-edit-form" template:

<input type="text" name="name" {{$value}}="message">

It throws me WARN: can/view/scanner.js: No custom element found for gf-step-admin-setup

gf-step-admin-setup- actually "parent" component (you can find its template above) so looks like it have to exist when I import another component. (unless there is some tricky life-cycle)

The fun thing that I can see my template with input for a second but after that something happens it disappear from the page :)

f I'll change binding to something like that:

<input type="text" name="name" {$value}="message">

It will work, but this is not what I need :(

Mohamed Cherif Bouchelaghem
@cherifGsoul
@Lighttree can you ask the question in donejs chat room? https://gitter.im/donejs/donejs