-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathAskQuestion.ascx
146 lines (138 loc) · 6.17 KB
/
AskQuestion.ascx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<%@ Control Language="C#" AutoEventWireup="false" CodeBehind="AskQuestion.ascx.cs" Inherits="DotNetNuke.DNNQA.AskQuestion" %>
<%@ Import Namespace="DotNetNuke.Services.Localization" %>
<%@ Register TagPrefix="dnnweb" Assembly="DotNetNuke.Web" Namespace="DotNetNuke.Web.UI.WebControls" %>
<%@ Register TagPrefix="dqa" Assembly="DotNetNuke.Modules.DNNQA" Namespace="DotNetNuke.DNNQA.Controls" %>
<%@ Register TagPrefix="dnn" TagName="label" Src="~/controls/LabelControl.ascx" %>
<%@ Register TagPrefix="dnn" TagName="TextEditor" Src="~/controls/TextEditor.ascx"%>
<%@ Register TagPrefix="dqa" TagName="HeaderNav" Src="~/DesktopModules/DNNQA/Controls/HeaderNav.ascx" %>
<dqa:HeaderNav ID="dgqHeaderNav" runat="server" />
<div class="dnnForm qaAskQuestion" id="qaAskQuestion">
<h2 class="dnnFormSectionHead"><%= Localization.GetString("litAskHeader", LocalResourceFile) %></h2>
<div class="dnnFormItem dnnFormHelp dnnClear"><p class="dnnFormRequired"><span><%=LocalizeString("RequiredFields")%></span></p></div>
<fieldset>
<div class="dnnFormItem">
<dnn:label id="dnnlblTitle" runat="server" controlname="txtTitle" suffix=":" />
<asp:TextBox ID="txtTitle" runat="server" CssClass="dnnFormRequired qaplaceholder qaAskQuestion" MaxLength="150" TabIndex="0" />
<asp:RequiredFieldValidator ID="valTitle" runat="server" resourcekey="valTitle.ErrorMessage" Display="Dynamic" ControlToValidate="txtTitle" CssClass="dnnFormMessage dnnFormError" />
<div class="dnnClear"></div>
<label></label>
<div id="divSearchResults" class="qaSimilarPosts">
<p class="dnnClear"><%= Localization.GetString("Similar", LocalResourceFile) %></p>
<ul id="questions" class="dnnClear"></ul>
</div>
</div>
<div class="dnnFormItem">
<dnn:label id="dnnlblQuestion" runat="server" controlname="teContent" suffix=":" />
<div class="dnnLeft">
<dnn:texteditor id="teContent" runat="server" height="350px" width="500" ></dnn:texteditor>
<asp:Label ID="valQuestion" runat="server" resourcekey="valQuestion.ErrorMessage" Display="Dynamic" CssClass="dnnFormMessage dnnFormValidationSummary" Visible="false" />
</div>
</div>
<div class="dnnFormItem" id="divApproved" runat="server" visible="false">
<dnn:label id="dnnlblApproved" runat="server" controlname="chkApproved" suffix=":" />
<asp:CheckBox ID="chkApproved" runat="server" />
</div>
<div class="dnnFormItem">
<dnn:label id="dnnlblNotify" runat="server" controlname="chkNotify" suffix=":" />
<asp:CheckBox ID="chkNotify" runat="server" />
</div>
<asp:Panel class="dnnFormItem" id="pnlTags" runat="server">
<dnn:label id="dnnlblTags" runat="server" controlname="txtTags" suffix=":" />
<asp:TextBox ID="txtTags" runat="server" CssClass="dnnFormRequired" />
</asp:Panel>
<asp:Panel class="" ID="pnlHowToAsk" runat="server" style="display: none;">
<h4><%= Localization.GetString("HowToAskTitle", LocalResourceFile) %></h4>
<p class="dnnClear"><%= Localization.GetString("HowToAsk", LocalResourceFile) %></p>
</asp:Panel>
</fieldset>
<ul class="dnnActions dnnClear">
<li><asp:LinkButton ID="cmdSave" runat="server" resourcekey="cmdSave" CssClass="dnnPrimaryAction" OnClick="CmdSaveClick" /></li>
<li><asp:HyperLink ID="cmdCancel" runat="server" resourcekey="cmdCancel" CssClass="dnnSecondaryAction" /></li>
</ul>
</div>
<dnnweb:DnnCodeBlock ID="cbEditPost" runat="server">
<script language="javascript" type="text/javascript">
/*globals jQuery, window, Sys */
var mydata;
(function ($, Sys) {
function setupAskQuestion() {
var testEvent;
var testUI;
$("#divSearchResults").hide();
$("#<%= txtTitle.ClientID %>").blur(function () { searchQuestions($("#<%= txtTitle.ClientID %>").val()); });
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
var myTextArea = $('#<%= txtTags.ClientID %>').tagify( {delimiters: [9, 13, 44, 59, 188], addTagPrompt: '<%= Localization.GetString("AddTags", LocalResourceFile) %>' } ); // tab, return, comma, semicolon
myTextArea.tagify('inputField').autocomplete({
source: function (request, response) {
$.ajax({
type:"POST",
url:'<%= ResolveUrl("~/DesktopModules/DNNQA/QA.asmx/SearchTags")%>',
data:"{'searchTerm' : '" + extractLast(request.term) + "'}",
contentType: "application/json",
dataType: "json",
success: function(data){
var suggestions=[];
mydata=data;
$.each($.parseJSON(data.d),function(i,val){
suggestions.push(val);
});
response(suggestions);
}
});
},
minLength: 2,
close: function(event, ui) { myTextArea.tagify('add'); myTextArea.tagify('serialize'); }
});
function searchQuestions(searchPhrase) {
if(searchPhrase!="" && searchPhrase!="<%= Localization.GetString("overlayTitle", LocalResourceFile) %>"){
var moduleId = <%= ModuleContext.ModuleId %>;
$.ajax({
type: "POST",
url: '<%= ResolveUrl("~/DesktopModules/DNNQA/Qa.asmx/SearchQuestionTitle") %>',
data: "{ 'moduleId' : '" + moduleId + "' , 'searchPhrase' : '" + searchPhrase + "' }",
contentType: "application/json",
dataType: "json",
success: function (data) {
$("#questions").empty();
if(data.d.length > 0 )
{
$("#questionsTemplate").tmpl(data.d).appendTo("#questions");
// run the toggle effect
var options = {};
$("#divSearchResults").show('blind', options, 500);
}
else{
$("#divSearchResults").hide();
}
},
error: function (xhr, status, error) {
if(error!="")alert(error);
}
});
}
};
};
$(document).ready(function () {
setupAskQuestion();
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () {
setupAskQuestion();
});
});
} (jQuery, window.Sys));
</script>
<script id="questionsTemplate" type="text/html">
<li>
<span class="answercount">
${QuestionVotes}
</span>
<span class="summary">
<a href="${QuestionUrl}" target="_blank">${Title}</a> (${TotalAnswers})
</span>
</li>
</script>
</dnnweb:DnnCodeBlock>