wontomedia 0.1.1 → 0.2.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.
- data/Rakefile +9 -5
- data/VERSION.yml +2 -2
- data/app/controllers/admin_controller.rb +34 -11
- data/app/controllers/connections_controller.rb +8 -2
- data/app/controllers/items_controller.rb +213 -68
- data/app/helpers/format_helper.rb +22 -1
- data/app/helpers/items_helper.rb +43 -0
- data/app/models/connection.rb +128 -100
- data/app/models/item.rb +96 -0
- data/app/views/connections/_spo_select_controls.html.erb +65 -31
- data/app/views/connections/edit.html.erb +7 -2
- data/app/views/connections/index.html.erb +11 -4
- data/app/views/connections/show.html.erb +13 -5
- data/app/views/items/_class_select.html.erb +41 -0
- data/app/views/items/_content_examples.html.erb +21 -18
- data/app/views/items/_core_tasks.html.erb +40 -5
- data/app/views/items/_form_fields.html.erb +4 -4
- data/app/views/items/_inline_item_add_form.html.erb +48 -0
- data/app/views/items/_inline_scalar_add_form.html.erb +36 -0
- data/app/views/items/_most_populous_classes.html.erb +42 -0
- data/app/views/items/_type_select.html.erb +28 -26
- data/app/views/items/edit.html.erb +8 -2
- data/app/views/items/index.html.erb +5 -1
- data/app/views/items/new.html.erb +69 -54
- data/app/views/items/newpop.html.erb +18 -3
- data/app/views/items/show.html.erb +110 -7
- data/app/views/layouts/application.html.erb +2 -2
- data/app/views/layouts/base.html.erb +4 -2
- data/app/views/layouts/home.html.erb +2 -2
- data/assets/wontomedia-sample.rb +2 -0
- data/config/asset_packages.yml +1 -0
- data/config/cucumber.yml +11 -13
- data/db/fixtures/connections.yml +85 -4
- data/db/fixtures/items.yml +140 -8
- data/db/migrate/20100315135952_provide_scalar_objects.rb +32 -0
- data/db/migrate/20100321042343_add_timestamp_columns.rb +33 -0
- data/db/schema.rb +17 -11
- data/default-custom/app/views/items/home.html.erb +1 -1
- data/default-custom/public/stylesheets/wm.css +21 -4
- data/lib/helpers/connection_helper.rb +84 -1
- data/lib/helpers/item_helper.rb +16 -3
- data/lib/tasks/cucumber.rake +0 -2
- data/public/images/transparent_ltblue_background.png +0 -0
- data/public/images/{alert_background.png → transparent_white_background.png} +0 -0
- data/public/javascripts/forConnectionsForms.js +182 -41
- data/public/javascripts/forItemsForms.js +40 -5
- data/public/javascripts/forItemsShow.js +27 -0
- data/public/javascripts/itemCreatePopup.js +10 -3
- metadata +13 -5
@@ -0,0 +1,42 @@
|
|
1
|
+
<%
|
2
|
+
# WontoMedia - a wontology web application
|
3
|
+
# Copyright (C) 2010 - Glen E. Ivey
|
4
|
+
# www.wontology.com
|
5
|
+
#
|
6
|
+
# This program is free software: you can redistribute it and/or modify
|
7
|
+
# it under the terms of the GNU Affero General Public License version
|
8
|
+
# 3 as published by the Free Software Foundation.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful, but
|
11
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Affero General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Affero General Public License
|
16
|
+
# along with this program in the file COPYING and/or LICENSE. If not,
|
17
|
+
# see "http://www.gnu.org/licenses/".
|
18
|
+
%>
|
19
|
+
|
20
|
+
<style>
|
21
|
+
#class-item-list {
|
22
|
+
padding-left: 1.3em;
|
23
|
+
font-size: 110%;
|
24
|
+
}
|
25
|
+
#class-item-list li {
|
26
|
+
color: yellow;
|
27
|
+
margin-bottom: 0.8ex;
|
28
|
+
}
|
29
|
+
#class-item-list li span {
|
30
|
+
color: black;
|
31
|
+
}
|
32
|
+
</style>
|
33
|
+
|
34
|
+
<h2 class="subheading">Most Used</h2>
|
35
|
+
<ul id="class-item-list"><%
|
36
|
+
@class_list.each do |item| %>
|
37
|
+
<li><span>
|
38
|
+
<%= link_to "#{h filter_parenthetical item.title}",
|
39
|
+
item_by_name_path(item.name) %>
|
40
|
+
</span></li><%
|
41
|
+
end %>
|
42
|
+
</ul>
|
@@ -18,30 +18,32 @@
|
|
18
18
|
%>
|
19
19
|
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
21
|
+
<% if @item.sti_type.nil? %>
|
22
|
+
<p class="inputpara">
|
23
|
+
<%= f.label :sti_type, "Type" %>
|
24
|
+
<%= popup_help_icon "Help for type", "Help:Popup/ItemType" %>
|
25
|
+
<%= if @popup_type == "verb"
|
26
|
+
selections = [ [ "Property", "PropertyItem" ] ]
|
27
|
+
@item.sti_type = "PropertyItem"
|
28
|
+
else
|
29
|
+
selections = [
|
30
|
+
[ "- type of item -", "" ],
|
31
|
+
[ "Category", "CategoryItem" ],
|
32
|
+
[ "Individual", "IndividualItem" ],
|
33
|
+
[ "Property", "PropertyItem" ] ]
|
34
|
+
end
|
34
35
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
</p><p class="directions">
|
43
|
-
|
44
|
-
</p>
|
45
|
-
|
46
|
-
|
47
|
-
|
36
|
+
select_tag "item[sti_type]",
|
37
|
+
options_for_select( selections,
|
38
|
+
@item.sti_type.nil? ? "" : @item.sti_type ),
|
39
|
+
:tabindex => "110"
|
40
|
+
%>
|
41
|
+
<%= image_tag "blank_error_icon.png", :id=>"sti_type_error_icon",
|
42
|
+
:alt=>"", :size=>"16x16" %>
|
43
|
+
</p><p class="directions">
|
44
|
+
<span id="sti_type_required">Selection of a type is required.</span>
|
45
|
+
</p>
|
46
|
+
<% else %>
|
47
|
+
<%= hidden_field_tag 'item_sti_type', @item.sti_type,
|
48
|
+
:name => 'item[sti_type]' %>
|
49
|
+
<% end %>
|
@@ -24,6 +24,7 @@
|
|
24
24
|
<% end
|
25
25
|
|
26
26
|
@title_text = filter_parenthetical h @item.title
|
27
|
+
@window_title_addendum = " (Edit)"
|
27
28
|
|
28
29
|
# initialize array to define "Glossary Help" box of links:
|
29
30
|
@glossary_help_entries = [
|
@@ -38,8 +39,10 @@
|
|
38
39
|
|
39
40
|
<% form_for(@item, :url => item_path(@item)) do |f| %>
|
40
41
|
<%= f.error_messages %>
|
41
|
-
<%= render :partial => "
|
42
|
-
|
42
|
+
<%= render :partial => "class_select",
|
43
|
+
:locals => { :f => f, :show_class_control => true } %>
|
44
|
+
<%= render :partial => "form_fields", :locals => { :f => f } %>
|
45
|
+
<p><%= f.submit "Update", :tabindex => "150" %></p>
|
43
46
|
<% end %>
|
44
47
|
|
45
48
|
<div class="horizontal-link-list"><ul>
|
@@ -49,6 +52,9 @@
|
|
49
52
|
:rel => 'nofollow' -%></li>
|
50
53
|
</ul></div>
|
51
54
|
|
55
|
+
|
56
|
+
<%= ruby_hash_to_javascript 'class_to_type', @class_to_item_map %>
|
57
|
+
|
52
58
|
<% content_for :first_bottom_page_js do %>
|
53
59
|
<script type="text/javascript">
|
54
60
|
inAnItemsForm = true;
|
@@ -62,7 +62,11 @@
|
|
62
62
|
<tr>
|
63
63
|
<td colspan="3" class="secondrow" style="padding-left: 2.2em;">
|
64
64
|
<span style="font-size: 70%">
|
65
|
-
<%=
|
65
|
+
<%= ItemHelper::ITEM_SUBTYPES_TO_HUMAN[item.sti_type] %>:
|
66
|
+
<% if item.class_item %>
|
67
|
+
<%=h item.class_item.name %>:
|
68
|
+
<% end %>
|
69
|
+
</span>
|
66
70
|
<%=h item.description %></td>
|
67
71
|
</tr>
|
68
72
|
<% end %>
|
@@ -25,7 +25,12 @@
|
|
25
25
|
|
26
26
|
<%
|
27
27
|
require Rails.root.join( 'lib', 'helpers', 'item_helper')
|
28
|
-
|
28
|
+
show_class_control = @item.class_item_id.nil?
|
29
|
+
if show_class_control
|
30
|
+
@title_text = 'Make a new item'
|
31
|
+
else
|
32
|
+
@title_text = 'Enter a new ' + @item.class_item.name
|
33
|
+
end
|
29
34
|
|
30
35
|
# initialize array to define "Glossary Help" box of links:
|
31
36
|
@glossary_help_entries = [
|
@@ -41,15 +46,22 @@
|
|
41
46
|
form_for(@item, options) do |f|
|
42
47
|
%>
|
43
48
|
<%= f.error_messages %>
|
44
|
-
|
49
|
+
<% if @item.sti_type.nil? %><div style="width: 36%; float: left;"><% end %>
|
50
|
+
<%= render :partial => "class_select",
|
51
|
+
:locals => { :f => f, :show_class_control => show_class_control } %>
|
45
52
|
<%= render :partial => "type_select", :locals => { :f => f } %>
|
46
53
|
<%= render :partial => "form_fields", :locals => { :f => f } %>
|
47
54
|
<script type="text/javascript">
|
55
|
+
<% if @item.sti_type.nil? %>
|
56
|
+
$('item_sti_type').focus();
|
57
|
+
<% else %>
|
58
|
+
$('item_title').focus();
|
59
|
+
<% end %>
|
48
60
|
genNameFromTitleOk = true;
|
49
61
|
</script>
|
50
62
|
|
51
63
|
<p id="create_button_container" style="text-align: center">
|
52
|
-
<%= f.submit "Create", :tabindex => "
|
64
|
+
<%= f.submit "Create", :tabindex => "150" %>
|
53
65
|
</p>
|
54
66
|
|
55
67
|
<div class="horizontal-link-list"><ul>
|
@@ -58,58 +70,61 @@
|
|
58
70
|
<li><%= link_to 'Cancel, show connection list',
|
59
71
|
connections_path, :rel => 'nofollow' -%></li>
|
60
72
|
</ul></div>
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
<
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
'
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
'
|
86
|
-
|
87
|
-
|
88
|
-
'
|
89
|
-
|
90
|
-
|
91
|
-
'
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
'
|
103
|
-
|
104
|
-
|
105
|
-
'
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
73
|
+
<% if @item.sti_type.nil? %>
|
74
|
+
</div>
|
75
|
+
|
76
|
+
<div class="noncontent" style="width: 60%; float: right; margin-left: 0;">
|
77
|
+
<dl><dt id="category_title">Category</dt><dd id="category_desc">
|
78
|
+
|
79
|
+
"Category" is for groups of things, for concepts, and for the
|
80
|
+
upper levels of <%=
|
81
|
+
popup_help_icon 'Definition of hierarchies in a wontology',
|
82
|
+
'Help:GlossaryAtoO#anchor_Hierarchy', 'hierarchies' -%>.
|
83
|
+
(Though a hierarchy made up entirely of concepts could be all
|
84
|
+
Categories.) Categories can "contain" other categories and/or
|
85
|
+
individuals.
|
86
|
+
|
87
|
+
</dd><dt id="individual_title">Individual</dt><dd id="individual_desc">
|
88
|
+
|
89
|
+
"Individual" is for specific, concrete things. Individuals can
|
90
|
+
"contain" other individuals, but cannot contain categories.
|
91
|
+
("Ford Model-T" might be an individual, but could still contain
|
92
|
+
parts that are also individuals, like "Windshield" and "Tire".)
|
93
|
+
|
94
|
+
</dd><dt id="property_title">Property</dt><dd id="property_desc">
|
95
|
+
|
96
|
+
"Property" is used to define <%=
|
97
|
+
popup_help_icon 'Definition of relationships in a wontology',
|
98
|
+
'Help:GlossaryPtoZ#anchor_Relationship', 'relationships' -%>
|
99
|
+
between other items. Once you create a new Property <%=
|
100
|
+
popup_help_icon 'Definition of Item',
|
101
|
+
'Help:GlossaryAtoO#anchor_Item', 'item' -%>,
|
102
|
+
you should create one or more <%=
|
103
|
+
popup_help_icon 'Definition of Connection',
|
104
|
+
'Help:GlossaryAtoO#anchor_Connection', 'connections' -%>
|
105
|
+
that relate that property to other existing properties. In
|
106
|
+
general, you will use the "sub_property_of" property in order to
|
107
|
+
create these connections. For example, if you were creating a
|
108
|
+
description of famillial relations between people, you might
|
109
|
+
create a new property named "spouseOf". To define what the
|
110
|
+
creation of connections using this new property <em>means</em>, you
|
111
|
+
can create the connection "<code>spouseOf sub_property_of
|
112
|
+
symmetric_relationship</code>". This example will cause
|
113
|
+
"spouseOf" to be treated as a "peer" <%=
|
114
|
+
popup_help_icon 'Peer relationships in a wontology',
|
115
|
+
'Help:GlossaryPtoZ#anchor_Peer', 'relationship' -%>
|
116
|
+
(rather than a hierarchical one), and as a symmetric <%=
|
117
|
+
popup_help_icon 'Symmetric relationships in a wontology',
|
118
|
+
'Help:GlossaryPtoZ#anchor_Symmetric', 'relationship' -%>,
|
119
|
+
so that creating a "spouseOf" connection from one item to another
|
120
|
+
implies an connection going the other direction even if it is not
|
121
|
+
defined explicitly.
|
122
|
+
|
123
|
+
</dd></dl>
|
124
|
+
</div>
|
125
|
+
<% end %> <!-- instructions only if no .sti_type yet -->
|
112
126
|
<% end %> <!-- of form_for -->
|
127
|
+
<%= ruby_hash_to_javascript 'class_to_type', @class_to_item_map %>
|
113
128
|
|
114
129
|
<% content_for :first_bottom_page_js do %>
|
115
130
|
<script type="text/javascript">
|
@@ -23,15 +23,24 @@
|
|
23
23
|
<meta name="googlebot" content="noindex" />
|
24
24
|
<% end %>
|
25
25
|
|
26
|
-
<%
|
26
|
+
<%
|
27
|
+
require Rails.root.join( 'lib', 'helpers', 'item_helper')
|
27
28
|
|
29
|
+
show_class_control = @item.class_item_id.nil?
|
30
|
+
if show_class_control %>
|
31
|
+
<h1>Make a new item</h1>
|
32
|
+
<% else %>
|
33
|
+
<h1>Enter a new <%= @item.class_item.name -%></h1>
|
34
|
+
<% end
|
35
|
+
%>
|
28
36
|
|
29
|
-
<h1>Make a new item</h1>
|
30
37
|
|
31
38
|
<% options = @item.sti_type.nil? ? {} : { :url => items_path() }
|
32
39
|
form_for(@item, options) do |f|
|
33
40
|
%>
|
34
41
|
<%= f.error_messages %>
|
42
|
+
<%= render :partial => "class_select",
|
43
|
+
:locals => { :f => f, :show_class_control => show_class_control } %>
|
35
44
|
<%= render :partial => "type_select", :locals => { :f => f } %>
|
36
45
|
<%= render :partial => "form_fields", :locals => { :f => f } %>
|
37
46
|
<%= hidden_field_tag 'popup_flag', 'yes' %>
|
@@ -39,7 +48,7 @@
|
|
39
48
|
<p id="create_button_container" style="text-align: center">
|
40
49
|
<%= button_to_function "Create",
|
41
50
|
"if (okToSubmitItemForm()) itemCreatePopup_Submit(this)",
|
42
|
-
:id => "item_submit", :tabindex => "
|
51
|
+
:id => "item_submit", :tabindex => "150" %>
|
43
52
|
</p>
|
44
53
|
|
45
54
|
<p style="text-align: center">
|
@@ -47,12 +56,18 @@
|
|
47
56
|
'itemCreatePopup_Cancel()' %>
|
48
57
|
</p>
|
49
58
|
<% end %> <!-- of form_for -->
|
59
|
+
<%= ruby_hash_to_javascript 'class_to_type', @class_to_item_map %>
|
50
60
|
|
51
61
|
|
52
62
|
<!-- forItemsForms.js should have already been loaded by page that
|
53
63
|
popped us up. Call function to wire library functions to the form
|
54
64
|
elements we've just loaded. -->
|
55
65
|
<script type="text/javascript">
|
66
|
+
<% if @item.sti_type.nil? %>
|
67
|
+
$('item_sti_type').focus();
|
68
|
+
<% else %>
|
69
|
+
$('item_title').focus();
|
70
|
+
<% end %>
|
56
71
|
genNameFromTitleOk = true;
|
57
72
|
plumbEventHandlersToItemCreationElements("submitViaModalbox");
|
58
73
|
</script>
|
@@ -19,6 +19,7 @@
|
|
19
19
|
|
20
20
|
|
21
21
|
<%
|
22
|
+
require Rails.root.join( 'lib', 'helpers', 'item_helper')
|
22
23
|
@title_text = h( filter_parenthetical( @item.title ) )
|
23
24
|
|
24
25
|
# initialize array to define "Glossary Help" box of links:
|
@@ -49,6 +50,9 @@
|
|
49
50
|
|
50
51
|
<% # populate top (title/name/desc) section of page
|
51
52
|
%>
|
53
|
+
<div id="div-for-type-class"
|
54
|
+
style="float:right; text-align: right; font-size: 80%; font-weight: bold;">
|
55
|
+
</div>
|
52
56
|
<p style="margin-bottom: 0; font-weight: bold;">
|
53
57
|
<%= text_with_tooltip h( @item.title ),
|
54
58
|
' <b>Title</b> of this <b>Item</b> ', 'item_title' %>
|
@@ -71,6 +75,14 @@
|
|
71
75
|
|
72
76
|
|
73
77
|
|
78
|
+
<% if @item.is_class? %>
|
79
|
+
<div style="text-align: center;">
|
80
|
+
<%= link_to "Add a new <b>#{h @item.name}</b>",
|
81
|
+
new_item_path + "?class_item=" + @item.id.to_s %>
|
82
|
+
</div>
|
83
|
+
<% end %>
|
84
|
+
|
85
|
+
|
74
86
|
<% # links to global pages/actions
|
75
87
|
%>
|
76
88
|
<p style="clear: right">
|
@@ -79,10 +91,58 @@
|
|
79
91
|
<% end %>
|
80
92
|
</p>
|
81
93
|
|
94
|
+
|
95
|
+
<style>
|
96
|
+
.instance-list {
|
97
|
+
padding-left: 0;
|
98
|
+
}
|
99
|
+
.instance-list li {
|
100
|
+
color: #ffff60;
|
101
|
+
margin-right: 1.5em;
|
102
|
+
display: inline;
|
103
|
+
}
|
104
|
+
.instance-list li:before {
|
105
|
+
display: marker;
|
106
|
+
content: ">>";
|
107
|
+
}
|
108
|
+
.instance-list li span {
|
109
|
+
color: black;
|
110
|
+
}
|
111
|
+
</style>
|
112
|
+
|
113
|
+
<% if @item.is_class? %>
|
114
|
+
<h2 class="subheading"><%= h filter_parenthetical @item.title -%></h2>
|
115
|
+
<ul class='instance-list'>
|
116
|
+
<%
|
117
|
+
# we know that all the connections where this item is the object are
|
118
|
+
# located in the last array within @connection_list. Search through
|
119
|
+
# it for all of the connections where 'is_instance_of' is the predicate
|
120
|
+
|
121
|
+
iio_item_id = nil
|
122
|
+
@connection_list[-1].each do |maybe_iio_connection|
|
123
|
+
unless iio_item_id
|
124
|
+
if @item_hash[maybe_iio_connection.predicate_id].
|
125
|
+
name == 'is_instance_of'
|
126
|
+
iio_item_id = maybe_iio_connection.predicate_id
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
if iio_item_id == maybe_iio_connection.predicate_id %>
|
131
|
+
<li><span>
|
132
|
+
<%= item = @item_hash[maybe_iio_connection.subject_id]
|
133
|
+
link_to (h item.name), item_by_name_path(item.name) %>
|
134
|
+
</span></li>
|
135
|
+
<% end %>
|
136
|
+
<% end %>
|
137
|
+
</ul>
|
138
|
+
<% end %>
|
139
|
+
|
140
|
+
|
141
|
+
<h3 class="subheading">This Class' Relationships</h3>
|
142
|
+
|
82
143
|
<% # populate bottom (connections referencing this item) section of page
|
83
144
|
unless @connection_list.empty? %>
|
84
145
|
|
85
|
-
|
86
146
|
<% # track things to do only once:
|
87
147
|
list_open_output = false
|
88
148
|
last_predicate_id = nil
|
@@ -91,6 +151,8 @@
|
|
91
151
|
@show_help_icon_used = false
|
92
152
|
@edit_help_icon_used = false
|
93
153
|
@delete_help_icon_used = false
|
154
|
+
@add_scalar_help_icon_used = false
|
155
|
+
@add_item_help_icon_used = false
|
94
156
|
|
95
157
|
array_of_arrays_of_connections = @connection_list.to_enum
|
96
158
|
|
@@ -116,7 +178,7 @@
|
|
116
178
|
</div>
|
117
179
|
<% end %>
|
118
180
|
|
119
|
-
<ul>
|
181
|
+
<ul style="padding-left: 0;">
|
120
182
|
<%= text_with_tooltip (h filter_parenthetical @item.title),
|
121
183
|
(h @item.name) %>
|
122
184
|
<ul style="list-style-type: none;">
|
@@ -138,13 +200,31 @@
|
|
138
200
|
<div style="float: right; font-size: 80%; margin-right: 6em;">
|
139
201
|
<% if connection.id
|
140
202
|
generate_connection_links(connection)
|
141
|
-
|
203
|
+
elsif connection.obj_id
|
142
204
|
generate_inverse_link(@inverses_map[connection])
|
143
205
|
end %>
|
144
206
|
</div>
|
145
|
-
|
146
|
-
|
147
|
-
|
207
|
+
|
208
|
+
<% if connection.kind_of_obj == Connection::OBJECT_KIND_SCALAR &&
|
209
|
+
connection.scalar_obj.nil? %>
|
210
|
+
<%= render :partial => "inline_scalar_add_form",
|
211
|
+
:locals => { :con => connection } %>
|
212
|
+
|
213
|
+
<% elsif connection.kind_of_obj == Connection::OBJECT_KIND_ITEM &&
|
214
|
+
connection.obj_id.nil? %>
|
215
|
+
<%= items = @intances_of_type_item_classes[connection.type_item]
|
216
|
+
items = Item.all unless !items.nil?
|
217
|
+
render :partial => "inline_item_add_form",
|
218
|
+
:locals => { :con => connection, :items => items } %>
|
219
|
+
|
220
|
+
<% elsif connection.kind_of_obj == Connection::OBJECT_KIND_ITEM %>
|
221
|
+
<%= item = @item_hash[connection.obj_id]
|
222
|
+
link_with_tooltip (h filter_parenthetical item.title ),
|
223
|
+
h( item.name ), item_by_name_path(item.name) %>
|
224
|
+
|
225
|
+
<% else %>
|
226
|
+
<%= h connection.scalar_obj %>
|
227
|
+
<% end %>
|
148
228
|
</li>
|
149
229
|
|
150
230
|
<% last_predicate_id = connection.predicate_id
|
@@ -190,7 +270,11 @@
|
|
190
270
|
</td><td class="connectioncolumn">
|
191
271
|
<%= self_string_or_other_link(connection.predicate_id) %>
|
192
272
|
</td><td>
|
193
|
-
|
273
|
+
<% if connection.kind_of_obj == Connection::OBJECT_KIND_ITEM %>
|
274
|
+
<%= self_string_or_other_link(connection.obj_id) %>
|
275
|
+
<% else %>
|
276
|
+
<%= h connection.scalar_obj %>
|
277
|
+
<% end %>
|
194
278
|
</td><td style="font-size: 80%">
|
195
279
|
<% if connection.id
|
196
280
|
generate_connection_links(connection)
|
@@ -212,3 +296,22 @@
|
|
212
296
|
end
|
213
297
|
end # unless @connection_list.empty?
|
214
298
|
%>
|
299
|
+
|
300
|
+
<script type="text/javascript">
|
301
|
+
content = "<%= ItemHelper::ITEM_SUBTYPES_TO_HUMAN[@item.sti_type] -%>";
|
302
|
+
<% if @item.class_item %>
|
303
|
+
content += "<br /><%=h @item.class_item.name %>";
|
304
|
+
<% elsif superclass_item = @item.superclass_of %>
|
305
|
+
content += "<br />(<%=h superclass_item.name %>)";
|
306
|
+
<% elsif @item.is_class? %>
|
307
|
+
content += "<br />(is a class)";
|
308
|
+
<% end %>
|
309
|
+
$('div-for-type-class').innerHTML = content;
|
310
|
+
</script>
|
311
|
+
|
312
|
+
<% content_for :first_bottom_page_js do %>
|
313
|
+
<script type="text/javascript">
|
314
|
+
inAnItemsForm = false; // meant to indicate items/new or items/edit
|
315
|
+
creatingNewItem = true;
|
316
|
+
</script>
|
317
|
+
<% end %>
|