From 786b8ba0854b71e7bee00248b3ee29da357ba8d0 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Wed, 28 Jan 2015 10:32:53 +0000 Subject: Visual/edit modes: yet more minor changes. - Use a has for singletons (as it was previously), but with a distinct identity generated by Utils.getIdentity. - Fix counts not be using in a number of places. --- lib/utils.coffee | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'lib/utils.coffee') diff --git a/lib/utils.coffee b/lib/utils.coffee index f8eb5457..c04bf417 100644 --- a/lib/utils.coffee +++ b/lib/utils.coffee @@ -152,19 +152,16 @@ Utils = # locale-sensitive uppercase detection hasUpperCase: (s) -> s.toLowerCase() != s - # Allow a function call to be suppressed. Use Utils.suppress.unlessSuppressed to call a function, unless it - # is suppressed via the given key. Use Utils.suppressor.suppress to call a function while suppressing the - # given key. - suppressor: do -> - suppressed = {} - - suppress: (key, func) -> - suppressed[key] = if suppressed[key]? then suppressed[key] + 1 else 1 - func() - suppressed[key] -= 1 - - unlessSuppressed: (key, func) -> - func() unless suppressed[key]? and 0 < suppressed[key] + # Give objects (including elements) distinct identities. + getIdentity: do -> + identities = [] + + (obj) -> + index = identities.indexOf obj + if index < 0 + index = identities.length + identities.push obj + "identity-" + index # This creates a new function out of an existing function, where the new function takes fewer arguments. This # allows us to pass around functions instead of functions + a partial list of arguments. -- cgit v1.2.3