kevorkian 1.0.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- ])