Oct 13, 2010, 12:59 PM
[CLOSED] Script Error with Calendar "types[config.xtype || defaultType] is not a constructor"
Error: types[config.xtype || defaultType] is not a constructor
Source File: http://localhost/Aksia.Intranet.2010...t-all-debug.js
Line in ext-all-debug.js:
create : function(config, defaultType){
return config.render ? config : new types[config.xtype || defaultType](config);
},
Getting this from error console using FireFox 3.6.Page code:
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="Calendar.aspx.cs"
Inherits="Aksia.Intranet.Calendar" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Ext.NET Calendar</title>
<ext:ResourcePlaceHolder ID="ResourcePlaceHolder1" runat="server" Mode="Style" />
<link href="App_Themes/AksiaOriginal/calendar.css" rel="stylesheet" type="text/css" />
<ext:ResourcePlaceHolder ID="ResourcePlaceHolder2" runat="server" Mode="Script" />
<script src="Scripts/Calendar.js" type="text/javascript"></script>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" ScriptMode="Debug" IDMode="Explicit"
InitScriptMode="Linked" RemoveViewState="true" Namespace="AksiaCalendar" />
<ext:Viewport ID="Viewport1" runat="server" Layout="Border">
<Items>
<ext:Panel ID="Panel1" runat="server" Height="35" Border="false" Region="North" Cls="app-header"
BodyCssClass="app-header-content">
<Content>
<div id="app-logo">
<div class="logo-top">
</div>
<div id="logo-body">
</div>
<div class="logo-bottom">
</div>
</div>
<h1>
Aksia Calendar</h1>
<span id="app-msg" class="x-hidden"></span>
</Content>
</ext:Panel>
<ext:Panel ID="Panel2" runat="server" Title="..." Layout="Border" Region="Center"
Cls="app-center">
<Items>
<ext:Panel ID="Panel3" runat="server" Width="176" Region="West" Border="false" Cls="app-west">
<Items>
<ext:DatePicker ID="DatePicker1" runat="server" Cls="ext-cal-nav-picker">
<Listeners>
<Select Fn="AksiaCalendar.setStartDate" Scope="AksiaCalendar" />
</Listeners>
</ext:DatePicker>
</Items>
<TopBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:Button ID="Button1" runat="server" Text="Save All Events" Icon="Disk" OnClientClick="AksiaCalendar.record.saveAll();" />
</Items>
</ext:Toolbar>
</TopBar>
</ext:Panel>
<ext:CalendarPanel ID="CalendarPanel1" runat="server" Region="Center" ActiveIndex="2"
Border="false">
<GroupStore ID="GroupStore1" runat="server">
<Groups>
<ext:Group CalendarId="1" Title="Client Meetings" />
<ext:Group CalendarId="2" Title="Leave Tracker" />
<ext:Group CalendarId="3" Title="Manager Meetings" />
</Groups>
</GroupStore>
<EventStore ID="EventStore1" runat="server" DateFormat="M$">
<Proxy>
<ext:HttpProxy Url="Services/CalendarService.asmx/GetEvents" Json="true" />
</Proxy>
<Reader>
<ext:JsonReader Root="d" />
</Reader>
<BaseParams>
<ext:Parameter Name="start" Value="" Mode="Value" />
<ext:Parameter Name="end" Value="" Mode="Value" />
</BaseParams>
</EventStore>
<MonthView ID="MonthView1" runat="server" ShowHeader="true" ShowWeekLinks="true"
ShowWeekNumbers="true" />
<Listeners>
<ViewChange Fn="AksiaCalendar.viewChange" Scope="AksiaCalendar" />
<EventClick Fn="AksiaCalendar.record.show" Scope="AksiaCalendar" />
<DayClick Fn="AksiaCalendar.dayClick" Scope="AksiaCalendar" />
<RangeSelect Fn="AksiaCalendar.rangeSelect" Scope="AksiaCalendar" />
<EventMove Fn="AksiaCalendar.record.move" Scope="AksiaCalendar" />
<EventResize Fn="AksiaCalendar.record.resize" Scope="AksiaCalendar" />
<EventDelete Fn="AksiaCalendar.record.remove" />
</Listeners>
</ext:CalendarPanel>
</Items>
</ext:Panel>
</Items>
</ext:Viewport>
<ext:EventEditWindow ID="EventEditWindow1" runat="server" Hidden="true" GroupStoreID="GroupStore1">
<Listeners>
<EventAdd Fn="AksiaCalendar.record.add" Scope="AksiaCalendar" />
<EventUpdate Fn="AksiaCalendar.record.update" Scope="AksiaCalendar" />
<EditDetails Fn="AksiaCalendar.record.edit" Scope="AksiaCalendar" />
<EventDelete Fn="AksiaCalendar.record.remove" Scope="AksiaCalendar" />
</Listeners>
</ext:EventEditWindow>
</form>
</body>
</html>
Calendar.jsvar AksiaCalendar = {
getCalendar: function () {
return AksiaCalendar.CalendarPanel1;
},
getStore: function () {
return AksiaCalendar.EventStore1;
},
getWindow: function () {
return AksiaCalendar.EventEditWindow1;
},
viewChange: function (p, vw, dateInfo) {
var win = this.getWindow();
if (win) {
win.hide();
}
if (dateInfo !== null) {
// will be null when switching to the event edit form, so ignore
this.DatePicker1.setValue(dateInfo.activeDate);
this.updateTitle(dateInfo.viewStart, dateInfo.viewEnd);
}
},
updateTitle: function (startDt, endDt) {
var msg = '';
if (startDt.clearTime().getTime() == endDt.clearTime().getTime()) {
msg = startDt.format('F j, Y');
} else if (startDt.getFullYear() == endDt.getFullYear()) {
if (startDt.getMonth() == endDt.getMonth()) {
msg = startDt.format('F j') + ' - ' + endDt.format('j, Y');
} else {
msg = startDt.format('F j') + ' - ' + endDt.format('F j, Y');
}
} else {
msg = startDt.format('F j, Y') + ' - ' + endDt.format('F j, Y');
}
this.Panel1.setTitle(msg);
},
setStartDate: function (picker, date) {
this.getCalendar().setStartDate(date);
},
rangeSelect: function (cal, dates, callback) {
this.record.show(cal, dates);
this.getWindow().on('hide', callback, cal, { single: true });
},
dayClick: function (cal, dt, allDay, el) {
this.record.show.call(this, cal, {
StartDate: dt,
IsAllDay: allDay
}, el);
},
record: {
add: function (win, rec) {
win.hide();
rec.data.IsNew = false;
this.getStore().add(rec);
this.ShowMsg('Event ' + rec.data.Title + ' was added');
},
update: function (win, rec) {
win.hide();
rec.commit();
this.ShowMsg('Event ' + rec.data.Title + ' was updated');
},
remove: function (win, rec) {
this.getStore().remove(rec);
win.hide();
this.ShowMsg('Event ' + rec.data.Title + ' was deleted');
},
edit: function (win, rec) {
win.hide();
this.getCalendar().showEditForm(rec);
},
resize: function (cal, rec) {
rec.commit();
this.ShowMsg('Event ' + rec.data.Title + ' was updated');
},
move: function (cal, rec) {
rec.commit();
this.ShowMsg('Event ' + rec.data.Title + ' was moved to ' + rec.data.StartDate.format('F jS' + (rec.data.IsAllDay ? '' : ' \\a\\t g:i a')));
},
show: function (cal, rec, el) {
this.getWindow().show(rec, el);
},
// saveAll: function () {
// CompanyX.getStore().submitData();
// }
saveAll: function () {
Ext.net.DirectEvent.request({
url: "../Services/CalendarService.asmx/SaveAll",
json: true,
cleanRequest: true,
extraParams: {
events: AksiaCalendar.getStore().getRecordsValues()
}
});
}
}
};
Last edited by Daniil; Oct 18, 2010 at 6:47 PM.
Reason: Please use [CODE] tags for any code, [CLOSED]