kevorkian 1.0.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module Kevorkian
2
- VERSION = "1.0.1"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -16,7 +16,7 @@ class MD.Button
16
16
  onClick: (e) =>
17
17
  e?.preventDefault()
18
18
  if @attributes.onClick
19
- @attributes.onClick(@, MD.Utils.Carat.getRange(@editor.target_name))
19
+ @attributes.onClick(@, MD.Utils.Carat.getRange(@editor.target))
20
20
 
21
21
  render: =>
22
22
  button = $("<button class='btn'></button>").append(@attributes.html())
@@ -28,7 +28,7 @@ class MD.Button
28
28
 
29
29
  perform: (range, callback) =>
30
30
  @editor.trigger("before.perform", range, @)
31
- results = MD.Utils.Manipulation.replaceRange(@editor.target_name, range, callback)
31
+ results = MD.Utils.Manipulation.replaceRange(@editor.target, range, callback)
32
32
  @editor.trigger("after.perform", range, @, results)
33
33
  @editor.trigger("change", results.finalText)
34
34
  return results
@@ -40,5 +40,5 @@ class MD.Button
40
40
 
41
41
  setCaratRange: (range) =>
42
42
  @editor.trigger("before.setCarat", range, @)
43
- MD.Utils.Carat.setRange(@editor.target_name, range.start, range.end)
43
+ MD.Utils.Carat.setRange(@editor.target, range.start, range.end)
44
44
  @editor.trigger("after.setCarat", range, @)
@@ -1,8 +1,24 @@
1
1
  class @MD.Editor
2
2
 
3
- constructor: (@target_name) ->
3
+ constructor: (@target) ->
4
4
  @clearRows()
5
- @addRow(MD.Row.defaultRow)
5
+ @addRow(new MD.Row([
6
+ new MD.Button.H1(),
7
+ new MD.Button.H2(),
8
+ new MD.Button.H3(),
9
+ new MD.Button.Seperator(),
10
+ new MD.Button.Bold(),
11
+ new MD.Button.Italics(),
12
+ new MD.Button.Seperator(),
13
+ new MD.Button.BlockQuotes(),
14
+ new MD.Button.OrderedList(),
15
+ new MD.Button.UnorderedList(),
16
+ new MD.Button.CodeBlock(),
17
+ new MD.Button.CodeLine(),
18
+ new MD.Button.Seperator(),
19
+ new MD.Button.Href(),
20
+ new MD.Button.Hr()
21
+ ]))
6
22
  @events = {}
7
23
 
8
24
  on: (event, callback) ->
@@ -21,21 +37,29 @@ class @MD.Editor
21
37
  @rows.push(row)
22
38
 
23
39
  render: =>
24
- el = $(@target_name)
25
- inner = el.clone()
40
+ el = @target
41
+ # inner = el.clone()
42
+
26
43
  html = $("""
27
- <div id='#{@target_name.replace('#', '')}_md_editor' class='markdown_editor'>
28
- <div class='markdown_editor_toolbar' style="width: #{el.outerWidth(true)}px">
44
+ <div class='markdown_editor'>
45
+ <div class='markdown_editor_toolbar'">
29
46
  </div>
30
47
  </div>
31
48
  """)
49
+
50
+ toolbar = $(".markdown_editor_toolbar", html)
51
+ outer = el.outerWidth(true)
52
+ if outer is 100
53
+ toolbar.addClass("span10")
54
+ else
55
+ toolbar.css("width", "#{outer}px")
56
+
32
57
  for row in @rows
33
- $(".markdown_editor_toolbar", html).append(row.render())
34
- inner.appendTo(html)
35
- el.replaceWith(html)
36
- $(@target_name).keyup (e) =>
58
+ toolbar.append(row.render())
59
+
60
+ html.insertBefore(el)
61
+ el.keyup (e) =>
37
62
  @trigger("change", $(e.target).val())
38
- $(@target_name).change (e) =>
63
+ el.change (e) =>
39
64
  @trigger("change", $(e.target).val())
40
- return @
41
-
65
+ return @
@@ -5,7 +5,6 @@
5
5
  #= require ./button
6
6
  #= require_tree ./buttons
7
7
  #= require ./seperator
8
- #= require ./default_row
9
8
 
10
9
  @MD =
11
10
  Utils: {}
@@ -1,15 +1,15 @@
1
1
  class MD.Utils.Carat
2
2
 
3
- @getRange: (target_name) ->
3
+ @getRange: (target) ->
4
4
  pos = [0,0]
5
- ctrl = $(target_name)[0]
5
+ ctrl = target[0]
6
6
  if ctrl.selectionStart or ctrl.selectionStart is '0'
7
7
  pos[0] = ctrl.selectionStart
8
8
  if ctrl.selectionEnd or ctrl.selectionEnd is '0'
9
9
  pos[1] = ctrl.selectionEnd
10
10
  return {start: pos[0], end: pos[1]}
11
11
 
12
- @setRange: (target_name, start, end = start) =>
13
- ctrl = $(target_name)[0]
12
+ @setRange: (target, start, end = start) =>
13
+ ctrl = target[0]
14
14
  ctrl.focus()
15
15
  ctrl.setSelectionRange(start, end)
@@ -1,7 +1,6 @@
1
1
  class MD.Utils.Manipulation
2
2
 
3
- @replaceRange: (target_name, range, func) ->
4
- el = $(target_name)
3
+ @replaceRange: (el, range, func) ->
5
4
  val = el.val()
6
5
  slice = new MD.Utils.Slice(val, range)
7
6
  replacement = func(slice.textAtRange)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kevorkian
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-29 00:00:00.000000000 Z
12
+ date: 2013-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -76,7 +76,6 @@ files:
76
76
  - vendor/assets/javascripts/buttons/italics.js.coffee
77
77
  - vendor/assets/javascripts/buttons/ordered_list.js.coffee
78
78
  - vendor/assets/javascripts/buttons/unordered_list.js.coffee
79
- - vendor/assets/javascripts/default_row.js.coffee
80
79
  - vendor/assets/javascripts/editor.js.coffee
81
80
  - vendor/assets/javascripts/kevorkian.js.coffee
82
81
  - vendor/assets/javascripts/row.js.coffee
@@ -98,15 +97,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
97
  - - ! '>='
99
98
  - !ruby/object:Gem::Version
100
99
  version: '0'
100
+ segments:
101
+ - 0
102
+ hash: -2868621236420658150
101
103
  required_rubygems_version: !ruby/object:Gem::Requirement
102
104
  none: false
103
105
  requirements:
104
106
  - - ! '>='
105
107
  - !ruby/object:Gem::Version
106
108
  version: '0'
109
+ segments:
110
+ - 0
111
+ hash: -2868621236420658150
107
112
  requirements: []
108
113
  rubyforge_project:
109
- rubygems_version: 1.8.24
114
+ rubygems_version: 1.8.25
110
115
  signing_key:
111
116
  specification_version: 3
112
117
  summary: Easy, extensible MarkDown editor.
@@ -1,17 +0,0 @@
1
- MD.Row.defaultRow = new MD.Row([
2
- new MD.Button.H1(),
3
- new MD.Button.H2(),
4
- new MD.Button.H3(),
5
- new MD.Button.Seperator(),
6
- new MD.Button.Bold(),
7
- new MD.Button.Italics(),
8
- new MD.Button.Seperator(),
9
- new MD.Button.BlockQuotes(),
10
- new MD.Button.OrderedList(),
11
- new MD.Button.UnorderedList(),
12
- new MD.Button.CodeBlock(),
13
- new MD.Button.CodeLine(),
14
- new MD.Button.Seperator(),
15
- new MD.Button.Href(),
16
- new MD.Button.Hr()
17
- ])