Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 07:57
    rjgotten commented #5511
  • Jan 14 19:48
    cherifGsoul commented #5511
  • Dec 30 2020 17:45
    cherifGsoul assigned #5513
  • Dec 29 2020 15:54

    cherifGsoul on upgrade-docs-html-canjs

    (compare)

  • Dec 29 2020 15:48

    cherifGsoul on master

    Upgrade the site theme for new … (compare)

  • Dec 29 2020 15:48
    cherifGsoul closed #5514
  • Dec 29 2020 13:26
    hameema starred canjs/canjs
  • Dec 28 2020 19:16
    cherifGsoul opened #5514
  • Dec 28 2020 19:11

    cherifGsoul on upgrade-docs-html-canjs

    Upgrade the site theme for new … (compare)

  • Dec 14 2020 06:24
    bozaigao starred canjs/canjs
  • Dec 11 2020 16:25
    cherifGsoul reopened #5495
  • Dec 10 2020 20:45
    cherifyazid starred canjs/canjs
  • Dec 10 2020 20:34
    chaouanabil starred canjs/canjs
  • Dec 10 2020 20:31
    cherifGsoul closed #5508
  • Dec 10 2020 20:31
    cherifGsoul commented #5508
  • Dec 10 2020 19:42
    cherifGsoul closed #5491
  • Dec 10 2020 19:42
    cherifGsoul commented #5491
  • Dec 06 2020 23:30
  • Nov 29 2020 14:58
    ycjcl868 starred canjs/canjs
Leath Cooper
@IcculusC
yeah I suppose there's no really good way to do that
without including them so you can do instanceof
and bloat dependencies
Matthew Phillips
@matthewp
yeah
Justin Meyer
@justinbmeyer

@IcculusC

and when I wa susing map I had to create an instance of the view model manually

what do you mean by that?
Christopher Oliphant
@RALifeCoach
I don’t want my production page retrieving 80 small files. Can CanJS and all my JS files be merged for production?
Justin Meyer
@justinbmeyer
generally speaking, one should not be using a single instance for every component
@matthewp that might not be entirely true anymore
we can probably take a good stab at it
Matthew Phillips
@matthewp
Justin Meyer
@justinbmeyer
with types.isConstructor
Leath Cooper
@IcculusC
let MyViewModel =DefineMap.extend({...});

Component.extend({
  tag: 'foo-tag',
  template: '<h3>bar</h3>',
  viewModel: new MyViewModel()
});
vs
  ViewModel: MyViewModel
bump so I can edit
Justin Meyer
@justinbmeyer
yeah, viewModel: new MyViewModel() is going to use only one instance for every foo-tag
Leath Cooper
@IcculusC
yeah, that's what I figured
Matthew Phillips
@matthewp
we can figure out some way to warn, i think it's a good thing to do
Leath Cooper
@IcculusC
which worked in the use case
Justin Meyer
@justinbmeyer
yeah, but if you have multiple foo-tag on the page
it's going to get weird
Leath Cooper
@IcculusC
yeah I figured, but it was just a single form with a single instnace of the view model per visit
I thought that may be the case
but never ran into the multiple instances of foo-tag yet
Christopher Oliphant
@RALifeCoach
Also if I do var map = new MyDefineMap() and there is an error in one of the sub-maps I can view map and see which one has an error. If I define MtDefineMap in the Component with ViewModel, then there is a nondescript error.
Leath Cooper
@IcculusC
would it be a reasonable solution to just put something on the define map like a boolean value that differentiates it from a normal map and check for it if it's passed into viewModel and warn from there?
then the object would have the value if it were a define map but wouldn't require component to include define map as a dependency
Justin Meyer
@justinbmeyer
@halcyonandon I saw your comments about vdom and such, but I'm not sure I understand them. A virtual DOM is any structure that isn't the actual dom, but can effectively represent the actual DOM. In the case of can-simple-dom, our DOM looks pretty similar to the actual DOM apis, but it's much faster. The similarity allows us to have things like jQuery mutate our virtual DOM.
Leath Cooper
@IcculusC
kind of a ghetto workaround but it keeps the bloat down and accomplishes something similar to using instanceof
Justin Meyer
@justinbmeyer
define map like a boolean value that differentiates it from a normal map and check for it if it's passed into viewModel and warn from there?
not really a good long term solution b/c we want people to use can-define to be able to add observability to constructors created with class expressions
types.isConstructor basically checks if a function has a modified .prototype
which, IMO, is a pretty close approximation to when to use new in almost any circumstance
and would cover all uses of DefineMap
Leath Cooper
@IcculusC
will Map be deprecated?
could do it the other way around
put he check on the Map not the DefineMap
Justin Meyer
@justinbmeyer
our place for this kinda type detection behavior is in : http://canjs.github.io/canjs/doc/can-util/js/types/types.html
Leath Cooper
@IcculusC
unless I'm misunderstanding
Justin Meyer
@justinbmeyer
well, viewModel is mostly being deprecated. That's what I'm focused on.
in an ideal world, we'd have 2 functions ...
well, 2 properties
ViewModel -> assumes you pass it a constructor function.
Leath Cooper
@IcculusC
yep
Justin Meyer
@justinbmeyer
scope -> you can do whatever the heck you want here ... function called with outer scope, element, etc, returns a new scope or anything else gets put in a new Scope.
viewModel is basically legacy
Leath Cooper
@IcculusC
well if that's the case why not just warn people if they use viewModel at all
and encourage them to use the new convention
Justin Meyer
@justinbmeyer
yeah, not a bad idea
Leath Cooper
@IcculusC
maybe one of those fancy "soon to be deprecated" warnings
Christopher Oliphant
@RALifeCoach
steal-tools - what if my main module isn’t main.js