Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 16:39
    leoj3n commented #5107
  • 16:37
    leoj3n commented #5107
  • 16:32
    ThomasBrickerBK starred canjs/canjs
  • Jan 18 01:06
    greenkeeper[bot] commented #5422
  • Jan 18 01:06

    greenkeeper[bot] on @feathersjs

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

  • Jan 18 00:48

    greenkeeper[bot] on @octokit

    (compare)

  • Jan 18 00:46

    greenkeeper[bot] on @octokit

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

  • Jan 17 18:14
    patosullivan starred canjs/canjs
  • Jan 17 17:42
    bmomberger-bitovi synchronize #5451
  • Jan 17 17:42

    bmomberger-bitovi on update-deps

    update can-view-live, can-dom-m… (compare)

  • Jan 16 00:11
    greenkeeper[bot] labeled #5458
  • Jan 16 00:11
    greenkeeper[bot] opened #5458
  • Jan 16 00:11

    greenkeeper[bot] on can-simple-dom-1.7.1

    fix(package): update can-simple… (compare)

  • Jan 14 01:51
    likun7981 starred canjs/canjs
  • Jan 13 14:06
    piraz starred canjs/canjs
  • Jan 11 00:56
    KonTrax starred canjs/canjs
  • Jan 10 02:37
    jlburke starred canjs/canjs
  • Jan 09 04:17
  • Jan 09 04:17
    bbbbbroot starred canjs/canjs
  • Jan 06 18:58
    greenkeeper[bot] commented #5442
avg6003
@avg6003
'define(['can','jquery','jqueryui'], function(can,$) {
var PopUpController = can.Control.extend({
defaults: {
view: 'views/signup.hbs'
}
}, {
init: function(element, options) {
$('#popup').fadeIn('slow',function(element){
element.html(can.view(options.view, {}));
});
$('.content').click(function(){
$('#popup').fadeOut('slow');
})
},
})
return PopUpController;
})`
fadeOut is working but fadeIn isn't
I am new here sorry if there is some typo or formatiing!!
Nikolay Nadorichev
@Luanre
@DipeshRaichana you've inserted can.Control after fadeIn so jQuery can't animate unexisting DOM element
Alexis Abril
@alexisabril
@akagomez It definitely does and you would need to do that whether the property is on the map itself or on some inheriting map. However, if you have a large model with a lot of properties that are specific to a component’s view, those properties don’t need to be on the model itself. If that model is used in another component, with it’s own set of view related properties(isChecked, isHighlighted, isEditing, etc), the model itself gets polluted with arbitrary data.
Chris Gomez
@akagomez
@alexisabril I totally get you now. But I’m confused why those properties wouldn’t be on the ViewModel.
Instead of the Model.
Alexis Abril
@alexisabril

they would be on a viewmodel, just not the component’s necessarily. imagine you have a user model and your component has a user.list. user.isSelected could be some property you want to set.

In your view, you’d probably have something like:

{{#each users}}
<input type=“checkbox” can-value=“{isSelected}”/>
{{/each}}

isSelected would be convenient at some lower level than the component viewmodel itself, but not necessarily all the way down to the model.

Chris Gomez
@akagomez
I see. Just for fun, I think the way I’d handle that is to have a list of user models (users), and a list of selected users (selectedUsers). isSelected would be a helper that checks for the current user in the selectedUsers list.
Matthew Phillips
@matthewp
@alexisabril I think you want a component for each user in this case
Chris Gomez
@akagomez
Ah! +1 @matthewp
Matthew Phillips
@matthewp
or you could (this might be what you said) have a viewmodel that extends User
I remember us having this issue with sams
@Alfredo-Delgado i don't remember how we resolved that
probably with sub-components
Alexis Abril
@alexisabril
@matthewp yep, that was my thought as well
a vm that extends user
a component for each user would accomplish the same goal in this scenario
I think a vm that extends user would be the elegant solution, provided we have an inheritable define plugin
Chris Gomez
@akagomez
@alexisabril I’m fairly certain define properties are inheritable.
Matthew Phillips
@matthewp
not nicely
Chris Gomez
@akagomez
No?
Matthew Phillips
@matthewp
you have to combine them manually in init IIRC
this.define = can.extend(this.define, parent.define)
Nikolay Nadorichev
@Luanre
in my project I've solved this issue with parseModels and setting model property for local scope
Alexis Abril
@alexisabril
wow, @akagomez I think you’re right
it looks like it was included into the compute feature you wrote
@matthewp yeah, that’s the way I remember it too
Chris Gomez
@akagomez
@alexisabril Huh. Right on.
Gerard Finnerty
@halcyonandon
I'm trying to use a helper as a conditional, but it just displays 'true' and doesn't render the content inside. I followed this guide http://canjs.com/docs/can.mustache.helpers.sectionHelper.html but it doesn't allow it without a # and there's a mismatch in the closing in that doc... is this ready to use?
{{#isTruncated account.name 15}} stuff {{/isTruncated}} ...this helper returns true if the string is greater than 15 and renders only 'true' and not 'stuff'
Chris Gomez
@akagomez
@halcyonandon if (condition) { return options.fn() } else { return options.inverse() }
Gerard Finnerty
@halcyonandon
@akagomez I wouldn't do multiple return statements, but the helper itself works, it just doesn't work in mustache as a template condition
Chris Gomez
@akagomez
The helper will output what you return. If you return true it will render “true”.
Gerard Finnerty
@halcyonandon
Not based on the docs.... I want to use a helper to render a block... i do not want to just render what the helper returns... see http://canjs.com/docs/can.mustache.helpers.sectionHelper.html

Calls a mustache helper function with a block, and optional inverse block.

{{#helper [args...] [hashName=hashValue...]}}BLOCK{{/helper}}
Calls a mustache helper function or a function with a block to render.

The template:

<p>{{countTo number}}{{num}}{{/countTo}}</p>

this does not work for me
I'm trying in 2.2.5, upgrading to 2.2.6, but the release notes don't mention this feature for 2.2.6
Chris Gomez
@akagomez
@halcyonandon bitovi/canjs#1535
Gerard Finnerty
@halcyonandon
I use the hash still with no luck
tried with and without
Chris Gomez
@akagomez
Can you paste your helper?
Gerard Finnerty
@halcyonandon
can.stache.registerHelper('isTruncated', function(string, limit) {
return string().length > limit;
});
string() alone is temporary till i do a check if the value being passed is a function
do I need to do something with options.fn or options.inverse? The documents don't state if this is required
Chris Gomez
@akagomez
@halcyonandon Yes. You need to return 1) options.fn(), 2)options.inverse(), or 3) a String.
Gerard Finnerty
@halcyonandon
ohhhhhh, ok... trying that, thanks @akagomez
Chris Gomez
@akagomez
Not a problem.
Gerard Finnerty
@halcyonandon
yeah that worked, thanks again